天天看點

ubuntu 16.04下編譯android和linux版webrtc

1. 準備ubuntu 16.04 x86_64環境,我的是裝在虛拟機裡面的;

2. 安裝git和Python2.7等工具,源碼或者apt-get指令方式都行

3. 下載下傳depot_tools(https://storage.googleapis.com/chrome-infra/depot_tools.zip),如果下載下傳失敗,可以去網盤下載下傳連結:https://pan.baidu.com/s/1McwHI2Xxf5XJFgbpMSnoTA 提取碼:o0fr 

解壓後将其路徑加入~/.bashrc,(export PATH=/home/xxx/webrtc/depot_tools:"$PATH"),

這一步很重要,下載下傳和編譯的工具均在depot_tools裡面。

3. 下載下傳和更新源代碼

mkdir webrtc_checkout

cd webrtc_checkout

fetch --nohooks webrtc_android (這一步不要出錯,否則即使下一步成功了,也會缺少很多東西)

gclient sync

4.使用自帶腳本下載下傳安裝依賴庫

cd src

build/install-build-deps.sh 

build/install-build-deps-android.sh

5.生成建構腳本

gn gen out/Debug --args='target_os="android" target_cpu="arm"' (android版)

gn gen out/LinuxDebug (Linux 版)

6.編譯

ninja -C out/Debug

ninja -C out/LinuxDebug

7.編譯結果

apk位于out/Debug/apks/AppRTCMobile.apk,out/Debug下還有很多用于測試的apk

linux可執行檔案位于out/LinuxDebug下,比如peerconnection_server,peerconnection_client等

8.生成給Android Studio使用的gradle

build/android/gradle/generate_gradle.py --output-directory $PWD/out/Debug \

--target "//examples:AppRTCMobile" --use-gradle-process-resources \

--split-projects --canary

結果在out/Debug/gradle下面

參考:https://www.cnblogs.com/swordc007/p/10604838.html

繼續閱讀