WebRtc蛋疼之作,文档巨少不说,还有很多过时的操作。更恶心的时配置文件并不是最新,这就导致,搭建起来很麻烦,特别是android这块,会让人欲仙欲死。
下面说说我是怎么做的吧,希望能给众人做一些指引,如果发现有问题,请及时提出。
本文重在资源共享:
本人环境:
操作系统:ubuntu10.04
代码版本下载时间:2012-11-15
主要应用:android客户端
编译对象.so文件
windows的话比较麻烦,要编译的话还是建议大家弄个真实的linux环境。
ubuntu10.04安装就不说了,相信网上有很多评论和指南,对着搞就行了
NDK环境的话,考虑现在的Android手机环境最好还是下个5左右的,会比较好点,并不是越高越好,有一句老话,走的越高,衰的越重,咱还是只要最稳定,不追求高配。
具体NDK环境搭建,无非是下载一个NDK,然后解压存储到/home/yourUser/目录下,或者其子目录下,都行。然后执行解压,这里我要说一句:如果你的linux命令比较熟就用命令的,新手还是用选中-右击-解压比较靠谱点,接下来就是要设置NDK环境变量了。
命令如下:
sudo gedit /etc/profile
用root用户打开这个文件,然后再最后将环境变量写入:
export ANDROID_NDK_ROOT=/home/yourUser/...[你的NDK目录]
export PATH =$ANDROID_NDK_ROOT:$PATH
记住ANDROID_NDK_ROOT,最好用这个,第二句的意思是将其写入环境变量,有些环境不需要在后面添加:$PATH,这个看大家的造化了。
友情提示一下,=前后别有空格,否则你会很头疼的,后果你试过就知道了
Webrtc好像就是去找这个的.记住要重启。
配置完了就按照NDK环境搭建的套路进行就行了,具体我就不多说了,这种文档很多。
接下来就开始搭建WEbrtc环境了.
先下载一些make或者编译所需要的包,
g++ (>= 4.2)
python (>= 2.4)
libasound2-dev
libpulse-dev
libjpeg62-dev
libxv-dev
libgtk2.0-dev
libexpat1-dev
下面几个,也不知道要不要,反正如果不闲麻烦的就装上吧,本人是32bit的,也就没装
For 32-bit builds on a 64-bit system:
lib32asound2-dev
ia32-libs
对了,还得要装一下svn和git,具体的话,看下面:
sudo apt-get install subversion
sudo apt-get install git
好了,该装的基本上差不多了,进行具体操作吧,
在/home/yourUser/目录或子目录等等创建webrtc目录,然后
命令:
cd /home/yourUser/
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
下完之后配置环境变量,套路参照配置NDK设置环境变量
export PATH=/home/liucheng/depot_tools/depot_tools:$PATH
接下来就下载Webrtc
网上好多说法都是,
cd /home/yourUser/webrtc
svn co https://webrtc.googlecode.com/svn/trunk
然后
gclient config https://webrtc.googlecode.com/svn/trunk
gclient sync
...
在这里我做个友情提示,因为我被这个东西搞的欲死欲仙。因为正常make没问题,但是编译NDK,会让你忘记谁是你老婆。说笑的
我的做法是这样的,
不用svn去下载,直接跳过进行
命令:
gclient config https://webrtc.googlecode.com/svn/trunk
gclient sync
有时候等待也是一种精神,等吧
完了之后,进入webrtc源码,执行脚本:./build/install-build-deps.sh
这又是一个漫长的过程。
继续完了之后source ./build/android/envsetup.sh
gclient runhooks
到此,代码算是搞定了,接下来就是要开始编译了。
cd ~/webrtc/trunk
make
提示:网上流传需要修改makefile里面的东东ARFLAGS.target ?= crsT,
貌似最新的版本已经改过来了,所以这里大家就不用操心了。
一般情况下make能直接编过,前提是前面的步骤都已经正常走下来了
下面是比较头疼 的一个问题就是编译so文件,
按照网上的教程走吧,目前好像能直接编过的是video-engine下的android工程,具体怎么编,这里就不啰嗦了,直接网上找教程就行。
目前这个版本voice的Android工程还没有编译通过,很麻烦。
下篇文件接着讲解吧