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,算了,有接口代码也行,在如下路径第二个

 

 

最后编成的库在如下路径

 

 

没有更多推荐了,返回首页