Linphone-android 2.2.1.1 编译小结

真心不容易啊,编译linphone for android,一把辛酸泪,。

上图先,编译生成的apk,注册在sip.linphone.org上:

Linphone-android 2.2.1.1 编译小结_第1张图片

编译后运行效果图,能正常启动且注册成功,功能还没覆盖测试。

下面就把编译遇到的问题描述下:

1. 我的环境是centos6.2,首先自然是参照linphone官网下载源码,期间用git工具下了好几次,特别是ffmpeg,经常下下就断开连接,据说git有方法断点续传,还没彻底研究过,参照网上的方法没有成功,只会针对ffmpeg单独clone,能力不行啊。


2. 打开源码README,瞄了几眼,就是需要安装一些依赖工具,yum一下。然后运行./check_tools.sh脚本,提示没有安装ndk,没有android sdk,一并把路径加在/etc/profile里,如下:

PATH=/home/android-ndk-r9c:/home/android-ndk-r9c/adt-bundle-linux-x86-20140702/sdk/tools:/home/android-ndk-r9c/adt-bundle-linux-x86-20140702/sdk/platform-tools:/usr/local/apache-ant-1.9.4/bin:$PATH
export PATH

记得source生效下。


3. 执行make,

 a)报错“make[1]: nasm: Command not found”,安装nasm,README中有提示,看的时候忽略了;


 b)报错“iLBC prepare stage failed”,下载不了extract-cfile.awk,直接上ilbc官网下载(www.ilbcfreeware.org)extract-cfile.txt,修改后缀为.awk,放入目录submodules/libilbc-rfc3951/downloads/,替换空的extract-cfile.awk,然后修改submodules/libilbc-rfc3951/downloads/Makefile,注释掉下载extract-cfile.txt相关,如下:

#$(extract_script):
#       $(WGET) --no-check-certificate $(extract_script_url) -O ${extract_script}


c)再次make,报错“/usr/bin/md5sum: WARNING: 1 of 1 computed checksum did NOT match make[1]: *** [extract-cfile.awk.check] Error 1”,得到替换文件extract-cfile.awk的md5值,修改submodules/libilbc-rfc3951/downloads/known_checksums/extract-cfile.awk.md5文件里的md5值;


d)继续make,噩耗来了,报错“nasm  -Ox -f elf32 -g does not support section alignment (nasm <=2.08?)”, 刚才用yum安装的nasm版本低了,只能去下最新的nasm安装,centos啊。。。


e)继续make,报错“Can't locate LWP/UserAgent.pm in @INC ”,执行命令yum install perl-libwww-perl,再make报错“(Crypt::SSLeay or IO::Socket::SSL not installed”,执行命令“yum install perl-Crypt-SSLeay.i686”


f)继续make,报错“The Android Ant-based build system requires Ant 1.8.0 or later. Current version is 1.7.1”,ant版本太低了,下载最新的安装。


再次make,经过万里长征,总算默认编译完成:


ok,就这样。


你可能感兴趣的:(Android应用开发)