天天看点

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

继续阅读