Blog icon indicating copy to clipboard operation
Blog copied to clipboard

WebRTC Android 下载及编译

Open RWebRTC opened this issue 8 years ago • 0 comments

介绍

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/

RWebRTC avatar Nov 24 '16 07:11 RWebRTC