1环境准备

官方说明:

http://www.webrtc.org/reference/getting-started/prerequisite-sw

针对android构建需要Ubuntu64位机器,虚拟机也行。

1.1安装SVN

直接用apt-get安装

sudoapt-getinstallsubversion

1.2安装git

直接用apt-get安装

sudoapt-getinstallgit

1.3安装DepotTools

官方说明:

如果这个地址打不开,那直接svn下载

svncohttp://src.chromium.org/svn/trunk/tools/depot_toolsdepot_tools

然后将depot_tools目录添加到PATH环境变量中

2获取源码

官方说明:

http://www.webrtc.org/reference/getting-started/

2.1获取源码

gclient config http://webrtc.googlecode.com/svn/trunk
echo "target_os = ['android', 'unix']" >> .gclient
gclient sync --force

第二行不可省略,否则后面同步文件的时候,会缺少很多与android相关的文件

2.2获取平台相关文件,并且生成构建脚本

gclient runhooks --force

该步骤会下载androidndk和sdk,时间较长

执行过程中,如果出现连不上commondatastorage.googleapis.com(连接被重置),修改trunk/webrtc/tools/update_resources.py,将http改为https就可以了

-REMOTE_URL_BASE = 'http://commondatastorage.googleapis.com/webrtc-resources'
+REMOTE_URL_BASE = 'https://commondatastorage.googleapis.com/webrtc-resources'

3构建工程

android工程通过ninja管理,执行下面的命令构建:

ninja -C out/Debug/ WebRTCDemo

最后生成APK文件trunk/webrtc/video_engine/test/android/bin/WebRTCDemo-debug.apk

如果要生成release版本,执行下面的命令:

ninja -C out/Release/ WebRTCDemo

如果要生成所有例子,执行下面的命令:

ninja -C out/Release/ WebRTCDemo

但是生成的文件名好像还是debug版本,比如WebRTCDemo-debug.apk,名字一样倒也无所谓,但是文件大小好像没有区别,只少一点点。而且,我这里release版本的WebRTCDemo不能运行