Ubuntu14.04下linphone-android编译

声明:本文为原创文章,未经许可不得转载、发表

成功编译Linphone-android,留下编译记录以作参考
操作系统:
Ubuntu 14.04
编译环境:
JDK 1.7.0_71
android-sdk-linux
android-ndk-r9d
adt-bundle-linux-x86-20140702
android-api 19
api必须装全,否则在交叉编译时会找不到系统头文件!

配置环境变量:
export JAVA_HOME=/.../jdk1.7.0_71
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib:.
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
export PATH=/.../android-sdk-linux/platform-tools:$PATH
export PATH=/.../android-sdk-linux/tools:$PATH
export PATH=/.../android-ndk-r9d:$PATH
export NDK_PATH=/.../android-ndk-r9d
export ADT_PATH=/.../adt-bundle-linux-x86-20140702
export PATH=${ADT_PATH}:$PATH
export PATH=${ADT_PATH}/sdk:$PATH
export PATH=${ADT_PATH}/sdk/tools:$PATH
export PATH=${ADT_PATH}/sdk/platform-tools:$PATH
其中“...”根据实际环境进行配置

源代码版本: Linphone-android 2014-11月份最新源码
下载源码时须找个网络稳定的环境,否则很容易下载不全,源码下载路径:
git clone git://git.linphone.org/linphone-android.git --recursive
下完后的源码大小:671,759,354字节。

查看Linphone-android的README,按照说明安装以下工具:
install yasm, nasm, curl, ant, rsync and the autotools: autoconf, automake, aclocal, libtoolize, pkgconfig
其中libtoolize的安装名称为libtools
pkgconfig的安装包名为pkg-config

由于我是最新版的Ubuntu系统,根据说明还安装了以下包
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

由于本地网络不稳定,因此我的源码在Windows Server 2008服务器上下载,在Ubuntu中解压后须将所有的.sh、configure、.pl修改为可执行
由于我的源码在Windows环境下下载,因此需将所有的dos换行符换成unix换行符,转换命令:
find -type f | xargs dos2unix -o
如果提示命令没有安装,使用sudo apt-install命令按提示安装即可

我所下载的源码在安装过程中需要下载rfc3951.txt和extract-cfile.awk两个文件,由于这两个文件的路径已经变更会导致make过程出错,可以提前下载这两个文件放到对应的目录中。
下载地址:
rfc3951.txt  http://www.ietf.org/rfc/rfc3951.txt
extract-cfile.awk  http://www.ilbcfreeware.org/documentation/extract-cfile.txt
extract-cfile.txt下载后需更名为extract-cfile.awk

文件下载后存放到linphone-android\submodules\libilbc-rfc3951\downloads下替换原有文件,同时需修改对应的.md5文件,否则make过程校验和会出错

至此,准备工作已经完成,见证奇迹的时刻就要到来
make

如果你的网络够好,硬件配置够好,在一段不算漫长的等待后将会出现以下提示:
BUILD SUCCESSFUL
Total time: 52 seconds
***************************************************************************
***** CAUTION, this liblinphone SDK is built using 3rd party GPL code *****
*****    Even if you acquired a proprietary license from Belledonne   *****
*****          Communications, this SDK is GPL and GPL only.          *****
*****           To disable 3rd party gpl code, please use:            *****
*****                 $ make ENABLE_GPL_THIRD_PARTIES=0               *****
***************************************************************************

恭喜,编译成功。

你可能感兴趣的:(jdk,git,ubuntu,voip)