從github上下載最新的代碼
https://github.com/BelledonneCommunications/linphone-android.git
下載後可以看到有一個linphone-sdk-android目錄,但是裏面只有一個build文件,而且也沒有之前3.X版本的submodules的庫。
直接用Android Studio打開項目,也會自動下載Linphone自己編譯好的SDK。
現在的版本的代碼結構和之前的版本有很大不同,不會將原來底層的協議棧放到在代碼,只有JAVA的代碼,linphone的SDK需要另外編譯。
linphone SDK的android編譯必須要在Linux或者MacOS下面編譯。我們就使用Ubuntu來編譯。
使用虛擬機安裝ubuntu-18.04.2,配置環境,並且安裝Java和Android SDK/NDK,Java只能裝Java8,太高版本會編譯會失敗,具體可參照我之前的文章《Ubuntu17.04編譯Linphone Android最新版本3.2.8》
https://blog.csdn.net/liccon/article/details/78275899
最新的4.3版本用最新的NDK20也可以成功編譯,推薦使用Android Studio的SDK管理界面下載NDK。下載完成後要在/etc/profile加入NDK的路徑,在SDK下的./ndk/版本號 目錄
我們下載linphone-sdk的代碼
git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive
下載完成後,閱讀linphone-sdk的README.md文件,cmake,python(2.7版本),pip(pip實際的安裝包是python-pip),yasm,nasm,doxygen
,Pystache (使用pip install pystache安裝), six (使用pip install six安裝),除此之外,還需要安裝pkg-config
進入linphone-sdk的目錄,創建build子目錄
mkdir build
cd build
cmake .. -DLINPHONESDK_PLATFORM=Android
cmake --build .
也可以加上編譯選項
cmake .. -DENABLE_G729=YES -DENABLE_SILK=YES -DLINPHONESDK_PLATFORM=Android
cmake --build .
這是編譯G729和SILK的選項,也可以增加其他選項。其他的選項有
ENABLE_VIDEO 是否啓動視頻,默認是允許
ENABLE_NON_FREE_CODECS
ENABLE_GSM
ENABLE_OPUS
ENABLE_SPEEX
ENABLE_DEBUG_LOGS
ENABLE_UNIT_TESTS
ENABLE_FFMPEG
ENABLE_VPX
ENABLE_MKV
ENABLE_SRTP
ENABLE_ZRTP
如果編譯順利,將會在build/linphone-sdk/bin/output/aar下面生成linphone-sdk-android-release.aar,linphone-sdk-android-debug.aar兩個文件,我們將文件複製到linphone-android的linphone-sdk-android子目錄下,然後使用Android Studio打開linphone-androidbi編譯即可
具體代碼在github上獲取
https://github.com/zhanggx/linphone-android.git
也可以直接下載我編譯好的linphone-sdk-android-release.aar,linphone-sdk-android-debug.aar再單獨下載https://github.com/BelledonneCommunications/linphone-android.git 的代碼自行構建工程編譯。
鏈接: https://pan.baidu.com/s/1h10aKH1OsOmRtU6qkBIjKA 提取碼: maju