ENV
Ubuntu
入门以及下载源码
https://webrtc.org/native-code/development/
https://webrtc.org/native-code/android/
gclient config --name=src https://chromium.googlesource.com/external/webrtc.git echo "target_os = ['android']" >> .gclient gclient sync --force
gclient runhooks --force
查看支持的参数列表
gn args --list out/Debug
设置参数
gn gen out/Debug --args='target_os="android" rtc_include_tests=false enable_nocompile_tests=true libyuv_include_tests=false'
开始编译
ninja -C out/Debug 或者 ninja -C out/Release
内存不够的时候就用 -j1 或者 -j2
需要使用项目自带的一些工具的时候需要执行
source ./build/android/envsetup.sh
可能出现的问题
guohai@ubuntu:/home/guohai/WebRTC/src$ ninja -C out/Debug ninja: Entering directory `out/Debug' [4/3003] ACTION //base:android_runtime_jni_headers__jni_Runtime(//build/toolchain/android:android_clang_arm) FAILED: gen/base/android_runtime_jni_headers/base/jni/Runtime_jni.h python ../../base/android/jni_generator/jni_generator.py --jar_file ../../third_party/android_tools/sdk/platforms/android-28/android.jar --input_file java/lang/Runtime.class --ptr_type=long --output_dir gen/base/android_runtime_jni_headers/base/jni --includes ../../../../../../../base/android/jni_generator/jni_generator_helper.h Traceback (most recent call last): File "../../base/android/jni_generator/jni_generator.py", line 1405, in <module> sys.exit(main(sys.argv)) File "../../base/android/jni_generator/jni_generator.py", line 1401, in main GenerateJNIHeader(input_file, output_file, options) File "../../base/android/jni_generator/jni_generator.py", line 1308, in GenerateJNIHeader jni_from_javap = JNIFromJavaP.CreateFromClass(input_file, options) File "../../base/android/jni_generator/jni_generator.py", line 773, in CreateFromClass stderr=subprocess.PIPE) File "/usr/lib/python2.7/subprocess.py", line 710, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Java 环境变量没有设置好,这里需要 javap 命令
/home/guohai/WebRTC/src/third_party/android_tools/sdk//build-tools/22.0.0/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory sudo apt-get install lib32z1