首先在阿里云租用一台Ubuntu18.04+4核+16G内存+500G+100M带宽+香港的机器。
apt install pkg-config
安装必备工具depot
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:${HOME}/depot_tools
同步相关代码
cd webrtc
mkdir code
cd code
fetch --nohooks webrtc_android
gclient sync
切换分支
关键版本对应分支
m84 branch-heads/4147 (2020年6月稳定)
m89 branch-heads/4389 (2021年2月稳定)
m93 branch-heads/4577 (2022年1月稳定)
关键版本支持的Android 版本
m84/4147 android:minSdkVersion="16" android:targetSdkVersion="23"
m89/4389 android:minSdkVersion="21" android:targetSdkVersion="23"
m93/4577 android:minSdkVersion="21" android:targetSdkVersion="23"
cd src
git checkout -b m84/4147 branch-heads/4147
cd ..
gclient sync
生成编译脚本
cd /src
gn gen out/Debug --args='target_os="android" target_cpu="arm"'
如果只生成so库执行
autoninja -C out/Debug
如果生成apk执行
autoninja -C out/Debug AppRTCMobile
生成Android demo app源码
生成在out/Debug/gradle
build/android/gradle/generate_gradle.py --output-directory $PWD/out/Debug \
--target "//examples:AppRTCMobile" --use-gradle-process-resources \
--split-projects --canary
webrtc编译常见问题集锦