本文簡單介紹如何在Ubuntu18.04 上,編譯WebRTC Android版本。html
須要用到depot_tools工具來下載webrtc源碼。android
git 命令獲取 depot_tools。ios
# git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
配置壞境變量:git
# echo "export PATH=$PWD/depot_tools:$PATH" > $HOME/.bash_profile # source $HOME/.bash_profile
檢測配置是否成功:web
$ echo $PATH
默認是下載當前最新的源碼,即Master分支。bash
# mkdir webrtc # cd webrtc # fetch --nohooks webrtc_android # gclient sync
若是要編譯特定分支,如M74分支,需指定特定分支進行同步。拉取M74分支使用以下命令:(分支提交記錄可參考WebRTC分支提交記錄)工具
gclient sync -r cc1b32545db7823b85f5a83a92ed5f85970492c9 --force
# commit id 可經過切換到該分支,查看git log,最上面那條記錄即爲當前分支最新的提交記錄
官網只給出第一條,建議兩條命令都執行。fetch
# ./src/build/install-build-deps.sh # ./src/build/install-build-deps-android.sh
編譯可指定帶或不帶AppRTCMobile,帶AppRTCMobile生成的Debug目錄較小,不帶AppRTCMobile生成的文件較多,也更大。ui
# source build/android/envsetup.sh # gn gen out/Debug --args='target_os="android" target_cpu="arm64"' # ninja -C out/Debug AppRTCMobile
編譯過程當中,若是沒有出錯,即表示編譯成功。google
a)編譯arm debug版本
gn gen out/Debug_arm --args='target_os="android" target_cpu="arm"'
ninja -C out/Debug_arm
b)編譯arm64 debug版本
gn gen out/Debug_arm64 --args='target_os="android" target_cpu="arm64"'
ninja -C out/Debug_arm64
c)編譯arm release版本
gn gen out/Release_arm --args='target_os="android" target_cpu="arm" is_debug=false'
ninja -C out/Release_arm
d)編譯arm64 release版本
gn gen out/Release_arm64 --args='target_os="android" target_cpu="arm64" is_debug=false'
ninja -C out/Release_arm64
此處在生成的out/*名字上作區別,須要自取。
編譯Android版的WebRTC
https://blog.csdn.net/ericbar/article/details/83114015
WebRTC iOS&OSX 庫的編譯
http://www.enkichen.com/2017/05/12/webrtc-ios-build/