Ubuntu14.04编译WebRTC For Android代码 2014-07-24
整整快一年没有写博客了。近期基于Google开源的WebRTC项目做了一款音视频聊天的即时通信项目,期间在下载WebRTC代码时就碰到了一些问题。在此以作记录,也希望可以帮助到正在下载编译WebRTC代码中碰到类似问题的童鞋们
1). 准备环境
1. Ubuntu14.04 LTS 系统
2. 准备一个稳定的速度还能够的VPN 或者 VPS ,这个非常重要。大家都懂,大部分下载代码失败都是由于訪问google服务失败导致的.(本人用的Digital Ocean,
之前试过几个VPN都以失败而告终,蛋都碎了。要么是不稳定。要么速度很慢。最长一次用了15个小时都没有下载成功)
3. 安装下载$编译webrtc代码所需工具
a. jdk (本人用的 sun jdk1.6.0_45)
jdk下载路径: http://ghaffarian.net/downloads/Java/JDK/
配置到环境变量中
b. git ( 版本号 1.9.1 )
安装: sudo apt-get install git
c. gclient
1.安装: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
2.配置到环境变量中 ,至于怎么配置。不知道的google一下
d. 安装例如以下工具 ( sudo apt-get install ..)
g++ (>= 4.2)
python (>= 2.4)
libnss3-dev >= 3.12
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
For 32-bit builds on a 64-bit system:
lib32asound2-dev
ia32-libs
2). 下载代码
1.同步WebRTC代码
1.创建WebRTC文件夹
mkdir WebRTC
cd WebRTC
2.初始化gclient
gclient config http://webrtc.googlecode.com/svn/trunk
3. 设计目标系统版本号的配置
echo "target_os = ['android', 'unix']" >> .gclient
4. sync代码
gclient sync --nohooks
( 煎熬的一步,我同步下来的代码有7.1G之大,里面包含NDK、SDK等其它tools 之前用VPN都败在这里,后来用VPS,仅仅用了6分多钟。哎。说点什么呢......尼玛,国内程序猿就是苦逼)
注意。若长时间出现 Still working on等信息,请不要中断或者关闭,它依旧在执行。假设你这里中断了,那么之前下载的东西会所有删除。然后又得又一次sync一遍
3). 编译代码
1.设置编译环境
1. cd trunk
2. source ./build/android/envsetup.sh
3.export GYP_DEFINES="$GYP_DEFINES OS=android"
2. 下载编译所依赖的包或工具,(这里又会下载一大堆东西 如 Ant.)
./build/install-build-deps.sh (trunk文件夹下)
3. gclient runhooks --force (下载编译所需的build文件等信息)
4. 编译 ( trunk文件夹下 )
编译Debug版: ninja -C out/Debug
编译Release版: ninja -C out/Release
基于以上步骤。假设网络能正常訪问google服务的话。一般都不会出现其它的问题。假设真碰到了问题。不要怕。一般依据错误信息就能够知道对应的原因。
不知道的google一下
编译成功之后 在 out/Debug 或者 out/Release文件夹下看到对应的demo安装包 如Debug文件夹下,当中就有 AppRTCDemo-debug.apk 和 WebRTCDemo-debug.apk
AppRTCDemo程序的代码就再 trunk/talk/examples/android/ 文件夹下
注意,AppRTCDemo 与 WebRTCDemo的差别
WebRTCDemo仅仅是局域网内的点对点。知道对方的ip和port号就能够对打, 不须要server, AppTRCDemo是须要server的,能够局域网,或者广域网
于2014年7月23日下载的最新代码。没有编译之前的 7.1G。假设有人由于种种原因没能把代码下载下来的,我到时能够共享你一份。由于代码还在自己机子上,到时备份一份到云盘上面
AppRTCDemoproject源代码:
WebRTC源码:(这里是没有编译之前的代码。编译之后预计9.6G左右,请自行下载代码并编译)
链接: 点击打开链接 password: vp7b
最后附效果图一张,有图有真相哦
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbnlhZmVpNjE3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Ubuntu14.04编译WebRTC For Android代码 2014-07-24的更多相关文章
- Ubuntu14.04编译安装mysql5.6.26
Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...
- VLC For Android Ubuntu14.04编译环境搭建
VLC多媒体播放器(英语:VLC media player,最初为VideoLAN Client.是VideoLAN计划的开放源码多媒体播放器.)支持众多音频与视频解码器及文件格式,并支持DVD影音光 ...
- ubuntu14.04 编译安装CPU版caffe
本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/735304 ...
- ubuntu14.04 编译安装highpoint rocketraid 2720驱动
highpoint官方只有ubuntu12.10驱动,对于ubuntu14.04或者12.04,需要手工编译安装驱动. 基本步骤: 1.下载rocketraid 2720驱动源代码 2.在一台装有ub ...
- Ubuntu14.04创建无线WiFi,android可以连接上网
前提条件: ubuntu14.04 unity,已经通过有线连接到internet 一般环境下创建的wifi热点android设备是无法识别的,网上说通过ap-hotspot方式创建出来的热点手机可以 ...
- Ubuntu14.04 编译 Android 5.1.1源码(采用国内镜像)
欢迎转载,转载请注明出处: http://www.cnblogs.com/lanrenxinxin/p/5424554.html 之前就有编译android源码的想法,但是由于有GFW的存在,又没有梯 ...
- 编译webrtc for android库与apk
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=`pwd`/depot_t ...
- ubuntu14.04 编译安装gcc-5.3.0
最近编译个源码,要求对C++14的支持了,就GCC的编译安装最新的5.3.0,整个过程以root用户进行. 1.下载GCC源码,属于事后文档整理,已经不知道从哪下载了. 2.解压:tar -zxvf ...
- 64bit ubuntu14.04编译PlatinumKit出现的arm-linux-androideabi-g++: not found错误解决方法
编译命令:scons target=arm-android-linux build_config=Release 出现错误: scons: Reading SConscript files ...** ...
随机推荐
- MySQL视图、触发器、事务、存储过程、函数
视图.触发器.事务.存储过程.函数 阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据 ...
- python - 中文打印报错SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared。
python中默认的编码格式是ASCII格式, 所以在没修改编码格式时无法正确打印汉字. 解决办法: 在以后的每一个需要显示汉字的python文件中, 可以采用如下方法在 #!/usr/bin/pyt ...
- css中max-width和min-width的应用
max-width:从字面意思可以看出,是规定元素本身最大宽度,元素本身宽度应小于等于最大宽度值. min-width:从字面意思可以看出,是规定元素本身最小宽度,元素本身宽度应大于等于最小宽度值. ...
- html5左右滑动页面效果实现
The Demo of h5 slider achiev by Myself 主要思路: 设置一个容器container,然后里面有几个page,获取到屏幕的宽度并将其赋值给page,然后contai ...
- INFORMIX MATCHES的使用详解
MATCHES 运算符返回 TRUE ,如果一个字符串与给定的掩码匹配. 语法 expr [NOT] MATCHES mask [ ESCAPE "char" ] ex ...
- 编码和解码(字符串与byte[]之间的转换)
资源来自互联网http://www.cnblogs.com/dabaopku/archive/2012/02/27/2370446.html 非常蛋疼的事情, google 和 baidu 在编码是分 ...
- SQL Server-聚焦强制索引查询条件和Columnstore Index
前言 本节我们再来穿插讲讲索引知识,后续再讲数据类型中的日期类型,简短的内容,深入的理解,Always to review the basics. 强制索引查询条件 前面我们也讲了一点强制索引查询的知 ...
- Linux强行踢用户
首先who执行查看有几个终端在链接使用系统.如要踢出tty2 方法1: pkill -9 -t tty2 方法2: fuser -k /dev/tty2 fuser 指令 用途 使用文件或文件结构识别 ...
- 一个关于C++拷贝构造的bug
#include <iostream> using namespace std; class A { public: A(int a) {}; A(const A&) = defa ...
- JavaScript Math 对象常用方法
Math.abs(x):可返回数的绝对值 Math.ceil(x):向上取整 Math.floor(x):向下取整 Math.max(x,y):最大值 Math.min(x,y):最小值 Math.r ...