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

官方说明:

https://sites.google.com/a/chromium.org/dev/developers/how-tos/depottools

如果这个地址打不开,那直接 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/trunkecho "target_os = ['android', 'unix']" >> .gclientgclient 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 不能运行

4 运行测试

更多相关文章

  1. eclipse添加android插件错误处理方法
  2. Android(安卓)Ant 编译
  3. App for Android(安卓)(2) —— Python篇
  4. 为Eclipse安装插件ADT plugin
  5. android程序编写的小问题
  6. Android(安卓)Studio Error 安装后Gradle:resolve dependencies:
  7. android GreenDao数据库框架学习(1)
  8. Android(安卓)studio 启动模拟器时解决 VT-x is disabled in BIO
  9. webrtc 针对 android 平台的编译和运行

随机推荐

  1. android中-----JSON数据解析
  2. Android(安卓)TextView文字超出一屏不能
  3. android media server 解析1-media playe
  4. Android媒体相关开发应用程序接口
  5. MyEclipse9.0 安装Android(安卓)ADT14
  6. adb wifi 链接调试Android设备
  7. android 放大镜--ShapeDrawable妙用
  8. Android(安卓)ActionBar 使用详解
  9. ClipboardService(CBS)中的权限管理
  10. Android键盘系统相关代码分析(1)