1 环境准备
官方说明:
http://www.webrtc.org/reference/getting-started/prerequisite-sw
针对 android 构建 需要 Ubuntu 64 位机器,虚拟机也行。
1.1 安装 SVN
直接用 apt-get 安装
sudo apt-get install subversion
1.2 安装 git
直接用 apt-get 安装
sudo apt-get install git
1.3 安装 Depot Tools
官方说明:
如果这个地址打不开,那直接 svn 下载
svn co http://src.chromium.org/svn/trunk/tools/depot_tools depot_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
该步骤会下载 android ndk 和 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/
但是生成的文件名好像还是 debug 版本,比如 WebRTCDemo-debug.apk,名字一样倒也无所谓,但是文件大小好像没有区别,只少一点点。而且,我这里 release 版本的 WebRTCDemo 不能运行