Muhammad Usman Bashir
Muhammad Usman Bashir

Reputation: 1519

Unable to Compile WebRTC Library for Android

I am trying to compile WebRTC Native Stack to build libwebrtc.aar but unfortunately unable to understand what's going wrong.


System Information:

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic
Java-Version:   OpenJDK-8-JDK
Python-Version: Python 2.7.17

I have followed the complete steps provided in the official WebRTC Native Development for Android. These steps have been completed without any interruption and every step took its time for completion. Then, I have to install all the dependency needed to build the source code.

./build/install-build-deps.sh

Before compiling the code I have also checked-out to particular git branch to go into different available WebRTC versions, to list all the branches using this git command.

git branch -r

I am sharing the latest Git Branches:

enter image description here


I have tried every git branch from branch-heads/60 to branch-heads/m79, and every branch has a different issue while using the compiling commands. I have tried these two procedures to build the library such as:


1- Using AAR Build Tools (./tools_webrtc/android/build_aar.py)

confu@ubuntu:~/webrtc_android/src$ tools_webrtc/android/build_aar.py
INFO:root:Building: armeabi-v7a
ERROR at //webrtc.gni:591:7: Can't load input file.
      absl_include_config,
      ^------------------
Unable to load:
  /home/confu/webrtc_android/src/third_party/abseil-cpp/BUILD.gn
I also checked in the secondary tree for:
  /home/confu/webrtc_android/src/build/secondary/third_party/abseil-cpp/BUILD.gn
Traceback (most recent call last):
  File "tools_webrtc/android/build_aar.py", line 234, in <module>
    sys.exit(main())
  File "tools_webrtc/android/build_aar.py", line 230, in main
    args.build_dir, args.extra_gn_switches, args.extra_ninja_switches)
  File "tools_webrtc/android/build_aar.py", line 210, in BuildAar
    extra_ninja_switches)
  File "tools_webrtc/android/build_aar.py", line 166, in Build
    _RunGN(gn_args_list)
  File "tools_webrtc/android/build_aar.py", line 93, in _RunGN
    subprocess.check_call(cmd)
  File "/usr/lib/python2.7/subprocess.py", line 190, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '/home/confu/webrtc_android/src/third_party/depot_tools/gn.py', 'gen', '/tmp/tmp1JDmHL/armeabi-v7a', '--args=arm_version=7 use_goma=false target_cpu="arm" is_component_build=false is_debug=false rtc_include_tests=false target_os="android"']' returned non-zero exit status 1

2- Using Manual Compilation (gn gen out/Debug --args='target_os="android" target_cpu="arm"')

confu@ubuntu:~/webrtc_android/src$ gn gen out/Debug --args='target_os="android" target_cpu="arm64"'
ERROR at //BUILD.gn:648:20: Assignment had no effect.
      java_files = [
                   ^
You set the variable "java_files" here and it was unused before it went
out of scope.
See //BUILD.gn:647:5: whence it was called.
    junit_binary("android_junit_tests") {
    ^------------------------------------

Upvotes: 3

Views: 1890

Answers (1)

Saif Ali
Saif Ali

Reputation: 427

Usman, Follow i followed these steps and i was able to generate a valid webrtc aar module:

 git checkout origin/master
 gclient revert
 gclient sync

And you will have your issues sorted. You are checking out a branch which is behind the origin and doesn't have all dependencies and modules over there required to build your libwebrtc.aar

Upvotes: 3

Related Questions