linphone android 源碼編譯總結

Android Linphone源碼編譯

一、下載源碼

打開命令終端輸入:git clone git://git.linphone.org/linphone-android.git --recursive

 

注意:先下載源碼,然後看源碼裏根目錄的README.md,不同版本對環境的要求不一樣,按照readme來配環境,不要以網上的說明來配有些版本是不一樣的,可以參考這個網址

https://blog.csdn.net/garfield38/article/details/53402623

二、搭建安卓環境(包括jdk,sdk,ndk)

安裝jdk

1、源碼包準備:

首先到官網下載jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,我下載jdk-8u161-linux-x64.tar.gz,下載到主目錄

2、解壓源碼包
通過終端在/usr/local目錄下新建java文件夾,命令行:

sudo mkdir /usr/local/java

然後將下載到壓縮包拷貝到java文件夾中,命令行:
進入jdk源碼包所在目錄

cp jdk-8u161-linux-x64.tar.gz /usr/local/java

然後進入java目錄,命令行:

cd /usr/local/java

解壓壓縮包,命令行:

sudo tar xvf jdk-8u161-linux-x64.tar.gz

然後可以把壓縮包刪除,命令行:

sudo rm jdk-8u161-linux-x64.tar.gz

3、設置jdk環境變量

這裏採用全局設置方法,它是是所有用戶的共用的環境變量

$sudo gedit ~/.bashrc


打開之後在末尾添加

export JAVA_HOME=/usr/local/java/jdk1.8.0_161 
export JRE_HOME=${JAVA_HOME}/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

請記住,在上述添加過程中,等號兩側不要加入空格,不然會出現“不是有效的標識符”,因爲source /etc/profile 時不能識別多餘到空格,會理解爲是路徑一部分。
然後保存。

4、檢驗是否安裝成功
在終端輸入如下命令
java -version
看看是否安裝成功
成功則顯示如下

 

可以參考這個網址https://www.linuxidc.com/Linux/2015-01/112030.htm

安裝sdk和ndk

這個安裝android studio 就有sdk和ndk了,下載AS的網址

http://www.androiddevtools.cn/

ndk不要下安裝包安裝,因爲sdk指定的ndk目錄是本身sdk所在目錄下的ndk-build裏,就算你下安裝包安裝也要放在這個目錄下,在環境裏配其他路徑也是不行的,目錄如下

 

Android studio裏安裝ndk如下圖

 

最後貼出我的環境配置

export JAVA_HOME=/usr/local/java/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

export ANDROID_NDK=/home/howard/Android/Sdk/ndk-bundle

export PATH=$PATH:$ANDROID_NDK:$ANDROID_NDK/platforms

export ANDROID_HOME=~/Android/Sdk

export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

三、下載所需要的軟件,這個看Readme有說明,以下是readme的要求

Install _yasm_, _nasm_ (For OpenH224 support only), _python_, _pkg_config_ and _cmake(>=3.7)_.

  * On 64 bits linux systems you'll need the _ia32-libs_ package.

  * With the latest Debian (multiarch), you need this:

    * `dpkg --add-architecture i386`

    * `aptitude update`

* `aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386`

操作如下

apt-get install yasm

apt-get install nasm

apt-get install python

apt-get install pkg_config

apt-get install cmake

apt-get install lib32ncurses5

apt-get install lib32z1

四、編譯時如果報cmake版本太低的話,安裝如下方法升級

1、sudo apt-get install build-essential //如果系統已安裝build-essential則不需要執行此步驟

2、wget http://www.cmake.org/files/v3.7/cmake-3.7.0.tar.gz

3、tar xf cmake-3.7.0.tar.gz

4、cd cmake-3.7.0

5、./configure

6、make

7、 執行   sudo make install

8、執行 sudo update-alternatives --install /usr/bin/cmake /usr/local/bin/cmake 1 --force

9、運行  cmake --version   查看版本號

五、編譯源碼

在項目目錄裏執行腳本./prepare.py 這個腳本它會檢查項目的完整性,如果有缺東西它會自動下載的

如果一切順利會生成一個makefile文個,這時開始編譯。命令行輸入:make

最後沒有問題的話如圖,有問題看打印自行解決

 

最後可以執行make liblinphone-android-sdk 這個是生成sdk的,編成功了但找不到sdk,算了,有接口代碼也行,在如下路徑第二個

 

 

最後編成的庫在如下路徑

 

 

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