基于公司对sip通讯的需要,今天初步研究了sip的一个开源实现Linphone。从下载到编译成功差不多用了一天的时间。我是昨天晚上git下载挂了一夜。今天到公司之后抱着试试看的态度,惊喜的发现已经下载成功了,下面就是在Ubuntu 16.04下一天的编译。本着学习和共享的态度记录下本次的研究历程,也希望能给有需要的coder带来帮助~
第一步:下载源码
鉴于下载的坑爹,接触过的应该都知道。无限的下载失败。我是第二次下载成功的,原因可能是我出墙了。据说不出墙成功率很低、下面我贡献上我下载后的百度云盘链接,共广大同胞们享用。过期了的话私聊我好了。
------------------------------------------分割线------------------------------------------
Ubuntu 16.04下编译Linphone源码可从以下信息的得到下载:
点击这个 链接关注 Linux公社官方微信,关注后回复数字144075。即可得到网友的分享密码。
如果取消关注Linux公社公众号,即使再次关注,也将无法提供本服务!
链接:https://pan.baidu.com/s/1nvju9KH 密码:获得见上面的方法,地址失效请在下面留言。
------------------------------------------分割线------------------------------------------
第二步:搭建环境
1 安装Linux系统,本次采用Ubuntu 16.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:
总结:编译其实没什么,就是等。整个过程最主要就是源码的下载和环境的配置。这两步如果没什么问题的话,编译就不在话下了。编译成功了之后即可在根目录的Libs文件夹下看到linphone项目所需要的各种so库,也可以在bin文件夹下看到编译好的apk文件。ok,就这么多,有问题的需要大家多多交流~