天天看點

Linphone-android 2.2.1.1 編譯小結

真心不容易啊,編譯linphone for android,一把辛酸淚,

Linphone-android 2.2.1.1 編譯小結

上圖先,編譯生成的apk,注冊在sip.linphone.org上:

Linphone-android 2.2.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,經過萬裡長征,總算預設編譯完成:

Linphone-android 2.2.1.1 編譯小結

ok,就這樣。

繼續閱讀