WebRTC Android版本編譯

  本文簡單介紹如何在Ubuntu18.04 上,編譯WebRTC Android版本。html

安裝工具

  須要用到depot_tools工具來下載webrtc源碼。android

安裝 depot_tools

  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分支

  默認是下載當前最新的源碼,即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/

相關文章
相關標籤/搜索