先说一下,记录这篇文章主要是因为里边关于编译选择的这些内容。整个过程本人没有试过
编译环境Ubuntu 12.04 x64,ndk r8e
一、安装ndk。安装完还需设置环境变量
export ANDROID_NDK=/_path_to/android-ndk-linux/
export PATH=$PATH:$ANDROID_NDK
把这两行设置添加到.bashrc最后,使得每次登录都不用再设置环境变量
二、安装swig
ubuntu 12.04自带的swig版本比较古老,需要自己从源码编译安装swig
./configure
make
make install
创建一个软链接,方便csipsimple执行
ln -s /usr/local/bin/swig /usr/local/bin/swig2.0
三、安装一些源码管理工具,svn用来check out csipsimple,git用来check out ffmpeg,x264等工程的代码,quilt用来打patch
aptitude install subversion git quilt
然后开始下载csipsimple的代码
svn checkout http://csipsimple.googlecode.com/svn/trunk/ CSipSimple-trunk
切记从linux check out代码,否则check out出来的代码可能因为换行符问题导致编译不过,尤其是patch可能打不上去,报错如
Hunk #1 FAILED at *
tortoiseSVN设置check out代码换行回车符的方法参考
四、编译项的一些裁剪
修改jni目录下的Application.mk,修改的地方包括
APP_ABI 可以把x86 mips架构去掉
MY_USE_XXX可以根据需求删掉一部分
另外,修改 CSipSimple/jni/fdk_aac/Makefile,把
fdk_url := https://android.googlesource.com/platform/external/aac
改成http的链接,否则可能无法下载fdk_aac的代码,编译时出现错误
error: The requested URL returned error: 406 while accessing https://android.googlesource.com/platform/external/aac/info/refs
五、开始编译native部分的库
make
make VideoLibs