Linphone-Android环境的编译

一:下载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 去掉

你可能感兴趣的:(Linphone-Android环境的编译)