Ubuntu18.04編譯Linphone Android最新版本4.3

從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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章