快速编译出WebRTC for Android(安卓)的一次记录
http://blog.csdn.net/dj0379/article/details/52577541
WebRTC for Android官网 http://www.webrtc.org/native-code/android
WebRTC 源码地址
作为新手,以前就知道chromium的项目不是好搞的,webrtc就是chromium项目中的一个子项目,在墙内光是同步下载源码都是有点困难的事情(要翻),然后再按照它的操作说明干起来。不同平台下还不同操作,各种晕啊。
好在有人把这些各种蛋庝的操作给弄好了个脚本,轻轻搞几下就能够完成这些繁杂的操作。
webrtc-build-scripts
只要网络一切正常使用,那么按照这个说明下去就能马上搞出个结果了,感谢这些先驱的辛勤劳作~~
操作如下(linux):
# 使build.sh里面的一些命令在当前环境中生效source android/build.sh# 自动安装部署一些依赖的工具install_dependencies# 获取项目部署工具和源码,以最新的源码作当前版本get_webrtc# 直接构建全部的版本出来(不同架构、Debug、Release),时间会很久build_apprtc
指定需要构建是Debug的还是Release版本
# true -> Debug模式;false -> Release模式export WEBRTC_DEBUG=truebuild_apprtc# 或者这样build_debug_apprtc
也可以指定要编出哪个来
# 指定使用哪类架构 or armv8, x86, or x86_64export WEBRTC_ARCH=armv7 prepare_gyp_defines &&execute_build
指定使用哪个版本下的
# 获取指定版本号的 WebRTC源码get_webrtc 9792# 直接buildbuild_apprtc
综合一点的用法
# Release export WEBRTC_DEBUG=false#只要armv7的export WEBRTC_ARCH=armv7 # 指定这个版本的,get_webrtc 9792# begin build...prepare_gyp_defines &&execute_build
总结:
开始我是在国外的VPS中搞的,debian8 64位的,1G内存,20GSSD,速度还是很好的,完全标准的网络环境,下载同步源码(下载内容大概8~9GB,解压后18GB)soso的2分钟不到就完成了,编译过程也是很顺利的,没出现啥错误中断,只是性能低编译时间就要久一点了,编译全部架构(armv7,armv8, x86, x86_64)的so大概要用3~4个钟左右,单独一个armv7的貌似也就半个钟不到。
最终目标在android/webrtc/libjingle_peerconnection_builds
下,包含了不同的版本的so和jar文件。到项目中即可使用了。
在个人电脑ubuntu 14下,连接VPN下载源码大概用了一个晚上,反正就是睡觉前开始,起床后看了一下,发现有错误导致中断了,再次get_webrtc
还是出错,大概就是Failure: Server presented certificate that does not match host www.googleapis.com
根据错误信息,找啊找,分析了这个Python调用的过程,最后发现是下载那个google签名出错了,导致后面的调用就失败了,理论上就是网络问题导致的,可能是用问题?最后发现是hosts文件问题,以前为了FQ需要把google的一些地址给重定向了,导致不能正常访问到,于是把hosts文件改了之后再次同步就正常了。
ubuntu 配置:i5 4核 8G内存,1T 硬盘。编译一个大概只需2分钟不到,全部编译完成不到半个钟。
附上编译好的文件(http://download.csdn.NET/detail/act262/9054745)
- 顶
- 0
- 踩
- 0
我的同类文章
更多相关文章
- 反编译apk文件,得到其源代码的方法
- vnc 项目的几点总结
- Qt On Android(安卓)+ protobuf3的使用
- Android(安卓)三种播放视频的方式
- Android各种事件处理一览(单击事件、触摸事件、物理按键事件、长
- 我的第一个Android程序,BMI计算器,分享一下源码
- Android点击事件分发机制源码分析1——Activity
- Android之Handler源码分析(第五篇:移除消息)
- Android.mk文件语法规范及使用模板