一:到网站上下载linphone-android的源码:
http://www.linphone.org/eng/download/git.html
linphone-android对应的git地址是:
在虚拟机中敲入如下命令
git clone git://git.linphone.org/linphone-android.git --recursive
记住一定要把rescursive给带上,否则下不全,下载完后大概有300M左右.
二:配置相关的编译环境
下载后首先看里面的readme.
1) download the Android ndk (>=r5c) from google.
我个人是android-ndk-r7c的最新版本.(如何安装NDK可以在本文件夹中找到)
2) install the autotools: autoconf, automake, aclocal, libtoolize,pkgconfig
这几个花费了我一上午的时间。
其实用apt-get install就可以搞定了。
sudo apt-get install autools-dev 可以自动帮你安装autoconf,automake,aclocal.
然后libtoolize的安装,不要想当然的用 sudo apt-get install libtoolize
正确的指令是: sudo apt-get install libtool
pkg-config系统自带的。
检测相关命令是否已经安装成功:
which autoconf(which命令是会查找PATH所指向的东西,找出它的路径所在)
成功会显示命令的路径
(3)把sdk目录下的platform-tools 和tools 文件夹拷贝到linphone-android源码的根目录;
(4)把ndk路径导入环境变量,例如: export PATH=$PATH:~/linphone/android-ndk-r8d
三:编译linphone-android
(1)上面的搞定后,开始执行./prepare_sources.sh这个时候呢,(在这里我是碰到问题的)
问题:
1:提示说ndk的路径不正确
在 /etc/environment中加上你自己的ndk的路径,我的如下
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/hnzzh/huzi/linphone/linphone-android/package/android-ndk-r8"
然后source /etc/enviroment重启,假如你使用如下命令:which ndk-build能看到nkd-build所在的路径,说明就没问题了.
2:在./prepare_sources.sh时会提示有关ndk权限的问题,所以需要把ndk所有包括子目录都改成777权限
编译完成后会提示如下信息:
patching file Makefile
Hunk #1 succeeded at 47 with fuzz 2 (offset 21 lines).
(2)然后再使用如下命令 ndk-build
安装完毕后会提示如下信息:
Compile thumb : linphonenoneon <= ec-calibrator.c
SharedLibrary : liblinphonearmv5.so
Install : liblinphonearmv5.so => jni/..//libs/armeabi/liblinphonearmv5.so
这个时候等给3分钟左右,编译就成功了,然后libs目录下就有已经编译好的各种 so了。
armeabi/liblinphone.so
armeabi-v7a/libavcodec.so,libavcore.so,libavutil.so,liblincrypto.so,liblinphone.so,liblinssl.so,libsrtp.so,libswscale.so!
到这里,整个linphone安装结束,接下来就是用Eclipse导入!
四:Eclipse导入
(1)eclipse导入android工程
把linphone_android的目录,在eclipse中import导入!
假如是在Ubuntu的eclipse需要把所有的@Override 去掉