Blog
Blog copied to clipboard
WebRTC Android 下载及编译
介绍
WebRTC是免费的开源的项目,通过调用简单的API可以实现浏览器或移动端的实时通信。可能是未来实时通信的标准,相信如果Google愿意,推动WebRTC的发展肯定不是问题。更多的关于WebRTC的简介请参看官网
下载源代码
系统要求Linux(笔者使用Ubuntu 14.04),需要科学上网,建议用VPN,改hosts文件代码下到一半会报错。
安装开发环境depot_tools:
$ sudo apt-get install git apache2 curl libcurl3 libcurl3-dev php5-curl # 安装一些默认软件,如git
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git # 下载depot_tools
$ export PATH="你的路径"/depot_tools:"$PATH" # 将depot_tools添加到系统环境变量中
$ export GYP_DEFINES="OS=android" # 将Android设为目标系统
$ mkdir workdir
$ cd workdir
$ fetch --nohooks webrtc_android
$ gclient sync # 注1
注1:gclient sync这一步耗时很长,会提示still on src,只能耐心等待,中途还需要同意软件许可协议,不过由于无法完全显示,直接回车继续,根据警告提示,在本命令执行结束后执行警告的
src/build/android/play_services/update.py download
无错误提示则代码下载完成。 真的在国内这么好的的网络情况下,这一步需要一定的坚强的意志,祝你好运。
编译
安装编译依赖软件环境,包括linux基础环境和Android基础环境,包括JDK7
$ sh src/build/install-build-deps-android.sh
$ java -version # 查看JDK版本
注2:如果电脑安装多个JDK,请切换到JDK7,其它版本可能出错
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
$ sudo update-alternatives --config jarsigner
编译
$ gn gen out/Default --args='target_os="android" target_cpu="arm"'
$ ninja -C out/Default
如果是其他CPU架构:
- To build for ARM64: use target_cpu="arm64"
- To build for 32-bit x86: use target_cpu="x86"
- To build for 64-bit x64: use target_cpu="x64
有什么问题,建议先查看官网。
Reference
1. https://webrtc.org/
2. http://dev.chromium.org/developers/how-tos/install-depot-tools
3. http://www.cnblogs.com/rabbitt/p/5517935.html
4. https://webrtc.org/native-code/android/