WebRTCWebRTC

Ubuntu下载webrtc源码

2017-03-20  本文已影响1044人  Devin_Lin

一、Depot Tools安装

1、确定已安装git和python

Confirm git and python are installed. git 2.2.1+ recommended. python 2.7+ recommended.

**2、下载depot_tools **

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

3、将depot_tools添加到PATH中:
个人建议将环境配置在etc/profile中

$ export PATH="$PATH:/path/to/depot_tools"

depot_tools中包括fetch、gclient和gn等工具,用于同步和编译代码。

二、获取代码

注:源码下载需翻墙

1、创建webrtc文件夹,用于存放代码

mkdir ~/webrtc

2、下载依赖的代码和编译依赖包

cd ~/webrtc
fetch --nohooks webrtc_android

fetch完成会自动执行gclient sync命令,中途下载失败或中断可继续执行gclient sync同步代码。其中webrtc_android是指android平台,这一步也可以选择其他平台如chromium、webrtc_ios
下载后若要增加其他平台可选择如下操作

$ echo "target_os = [ 'linux' ]" >> ../.gclient

3、同步代码

gclient sync

获取已知稳定的commit版本:

gclient sync -r src@3257b16156ee3065edbc722c6e215b58a8914ad2 

3257b16156ee3065edbc722c6e215b58a8914ad2是commit id。

注:获取代码这将是一个漫长的过程,视你的网络情况而定,好几个小时和一天不等,你能做的就只能慢慢等待。

三、进入src目录,编译代码

1、下载编译依赖包

./build/install-build-deps-android.sh  //针对android项目,其他项目选择对应文件编译

./build/install-build-deps.sh 

2、产生编译配置

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

//输入命令
gn args out/Debug

//编辑
target_os="android" 
target_cpu="arm"

gn配置参数参考:https://www.chromium.org/developers/gn-build-configuration

3、编译

ninja -C out/Debug

为了节约时间,没必要进行全编译,如对于android可以选择:

ninja -C out/Debug AppRTCMobile

如果编译出现问题,可执行gclient runhooks,参考文档:https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md

4、产生Android Studio编译配置

./build/android/gradle/generate_gradle.py --output-directory $PWD/out/Debug --target "//webrtc/examples:AppRTCMobile" --use-gradle-process-resources --split-projects

Android Studio使用 “Import Project”导入项目,工程所在目录:out/Debug/gradle

webrtc CI日志 当你不确定checkout的版本是否有问题的时候,看看CI日志的编译情况,可以减少很多查错的时间
webrtc forum 版本更新、有疑问这里找

四、吐槽

webrtc个人感觉真的很蛋疼,项目虽让功能强大,但需要的付出也很大:

1、科学上网,大家都懂的……

2、不能连续下载,中途中断,只能重新下载,而且一下载就是10G以上,每次下载只能祈祷:信春哥,得永生。

3、项目大、资料少、坑太多。只是源码下载,编译就虐得你不要不要的,心累啊!!!

上一篇 下一篇

猜你喜欢

热点阅读