编译Linphone-android版本
第一步 获取源代码
linphone官网连接:http://www.linphone.org
Android版本git地址
git clone git://git.linphone.org/linphone-android.git --recursive
注意上面的–recursive 一定不要漏掉不然会下载不全。
如果有中断现象则执行git submodule update –init –recursive的时候它会下载缺少的文件(可能没有进度提醒不过不用担心)。所以我们不用担心之前git的时候下载中断了,其实这里大概就是中断续传把!如果我们执行git submodule update –init –recursive又出现中断的现象我们可以不断的执行git submodule update –init –recursive 这个命令直到下载完成为止。
第二步、搭建编译Linphone-Android项目的环境
进入linphone-android目录
里面说明的是编译时需要做的事:
1.搭建Android sdk 环境
2.搭建Android ndk 环境
在/etc/profile.d下新建一个类似于development.sh的文件,加上
export JAVA_HOME=/home/luxuan/Program/jdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export ANDROID_NDK=/home/luxuan/Program/android-sdk/ndk-bundle
export PATH=$ANDROID_NDK:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
上面的路径按照实际情况更改
3.先安装依赖
sudo apt-get install yasm nasm ant intltool cmake vim-common lib32ncurses5 lib32z1 pkg-config
在项目目录里执行脚本
python ./prepare.py
提示下不了andorid gradle plugin的插件,要改成android studio的最新版本。
然后还提示没有local.properties文件,你可以从一个正常的android项目中复制一份,然后改下sdk.dir和ndk.dir的设置即可。
然后输入make开始编译
'pystache' python module not found
于是
sudo apt install python-pip
pip install pystache
提示
libudev.h not found
Doxygen not found
dot program is needed
于是
sudo apt install libudev-dev doxygen graphviz
最后根据README.md的5、6、7、8、9步骤,自行选择自己的编译选项。
如果出现gradle任务失败,可以输入
./gradlew assembleDebug
来重新编译。
默认只编译arm64-v8a和armeabi-v7a,则输入
python ./prepare.py -c
python ./prepare.py armv7 arm64 x86 x86_64
再
make
x86_64的so文件不会自动复制,可以参考提示信息将linphone-sdk/android-x86_64/lib和liblinphone-sdk/android-x86_64/lib/mediastreamer/plugins中的so复制过去即可。
输入
sh WORK/android-x86_64/strip.sh libs/x86_64/*.so