ubuntu16.04下编译linphone源码

基于公司对sip通讯的需要,今天初步研究了sip的一个开源实现linphone。从下载到编译成功差不多用了一天的时间。我是昨天晚上git下载挂了一夜。。。今天到公司之后抱着试试看的态度,惊喜的发现已经下载成功了,下面就是一天的编译。本着学习和共享的态度记录下本次的研究历程,也希望能给有需要的coder带来帮助~

第一步:下载源码

鉴于下载的坑爹,接触过的应该都知道。。。无限的下载失败。我是第二次下载成功的,原因可能是我出墙了。。。据说不出墙成功率很低、下面我贡献上我下载后的百度云盘链接...共广大同胞们享用。http://pan.baidu.com/s/1dEZnZm5  过期了的话私聊我好了。。。

第二步:搭建环境

1 安装Linux系统,本次采用ubuntu16.04。

2 安装jdk、sdk和ndk。其中jdk采用的是oracle1.8。

3 配置环境变量:进入命令行:sudo gedit /etc/profile 回车会提示输入密码,输入即可打开配置文件,在文件末尾添加配置内容如下:

#set java environment
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH  

# Android SDK
export ANDROID_SDK=/home/liwy/Android/Sdk
export PATH=$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:$PATH

#Android NDK
export ANDROID_NDK=/home/liwy/Android/ndk/
export PATH=$ANDROID_NDK:$PATH

其中jdk、sdk和ndk的路径一定要记得换成自己的。配置好后保存退出。然后 sudo gedit ~/.profile 继续配置,在文件末尾添加NDK的路径,内容如下:

export ANDROID_NDK=/home/liwy/Android/ndk/

export PATH=$ANDROID_NDK:$PATH

我之前没有在这个~/.profile 文件里配置NDK的路径,然后就导致执行下一步命令的时候一直提示“找不到Android NDK Version”


4 配置linux编译环境,安装交叉编译工具

在源码的的根目录的README文件里有环境要求,一定要看,因为源码的版本不同,会导致其所需要的环境也不尽相同,我也是跟着大神们的博客弄了半天死活不通,最后没办法了走的这一步,看了之后才发现,原来这里才是王道,切记,一定要看。

所需要下载的东西尽在编译介绍的第二点里内容如下:

install yasm, nasm, ant, python, intltoolize, cmake and vim-common
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

标红的都是需要下载的,下载命令(拿yasm举例子)如下:sudo apt-get instal yasm


第三步:开始编译

1 环境搭建配置好后,命令行进入源码的根目录。执行命令:. /perpare.py  配置构建和生产Makefile。执行成功的话即会生成Makefile文件,这个文件用于下一步的正式编译。当然了,有这Makefile文件的就可以直接进行下一步了

2 开始编译。命令行输入:make

3 等待编译。。。我这台机器总共编译了31分钟。如下图所示1:

ubuntu16.04下编译linphone源码_第1张图片

总结:编译其实没什么,就是等。整个过程最主要就是源码的下载和环境的配置。这两步如果没什么问题的话,编译就不在话下了。编译成功了之后即可在根目录的Libs文件夹下看到linphone项目所需要的各种so库,也可以在bin文件夹下看到编译好的apk文件。ok,就这么多,有问题的需要大家多多交流~

你可能感兴趣的:(android)