一:下載linphone-android源碼
http://www.linphone.org/eng/download/git.html
linphone-android對應的git地址是:
在虛擬機器中敲入如下命令
git clone git://git.linphone.org/linphone-android.git --recursive
記住一定要把rescursive給帶上,否則下不全,下載完後大概有300M左右.
二:配置相關的編譯環境
下載後首先看裡面的readme.
1) download the Android ndk (>=r5c) from google.
我個人是android-ndk-r7c的最新版本.(如何安裝NDK可以在本檔案夾中找到)
2) install the autotools: autoconf, automake, aclocal, libtoolize,pkgconfig
這幾個花費了我一上午的時間。
其實用apt-get install就可以搞定了。
sudo apt-get install autools-dev 可以自動幫你安裝autoconf,automake,aclocal.然後libtoolize的安裝,不要想當然的用 sudo apt-get install libtoolize
正確的指令是: sudo apt-get install libtool
pkg-config系統內建的。
檢測相關命令是否已經安裝成功:
which autoconf(which命令是會尋找PATH所指向的東西,找出它的路徑所在)成功會顯示命令的路徑
(3)把sdk目錄下的platform-tools 和tools 檔案夾拷貝到linphone-android源碼的根目錄;
(4)把ndk路徑匯入環境變數,例如: export PATH=$PATH:~/linphone/android-ndk-r8d
三:編譯linphone-android
(1)上面的搞定後,開始執行./prepare_sources.sh這個時候呢,(在這裡我是碰到問題的)
問題:
1:提示說ndk的路徑不正確
在 /etc/environment中加上你自己的ndk的路徑,我的如下
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hnzzh/huzi/linphone/linphone-android/package/android-ndk-r8"
然後source /etc/enviroment重啟,假如你使用如下命令:which ndk-build能看到nkd-build所在的路徑,說明就沒問題了.
2:在./prepare_sources.sh時會提示有關ndk許可權的問題,所以需要把ndk所有包括子目錄都改成777許可權
編譯完成後會提示如下資訊:
patching file Makefile
Hunk #1 succeeded at 47 with fuzz 2 (offset 21 lines).
(2)然後再使用如下命令 ndk-build
安裝完畢後會提示如下資訊:
Compile thumb : linphonenoneon <= ec-calibrator.c
SharedLibrary : liblinphonearmv5.so
Install : liblinphonearmv5.so => jni/..//libs/armeabi/liblinphonearmv5.so
這個時候等給3分鐘左右,編譯就成功了,然後libs目錄下就有已經編譯好的各種 so了。
armeabi/liblinphone.so
armeabi-v7a/libavcodec.so,libavcore.so,libavutil.so,liblincrypto.so,liblinphone.so,liblinssl.so,libsrtp.so,libswscale.so!
到這裡,整個linphone安裝結束,接下來就是用Eclipse匯入!
四:Eclipse匯入
(1)eclipse匯入android工程
把linphone_android的目錄,在eclipse中import匯入!
假如是在Ubuntu的eclipse需要把所有的@Override 去掉