
|
导读我这次在一个全新的系统上编译Linphone Android最新版本,在Virtual Box虚拟机上安装Ubuntu17.04 64位系统。 1.在Ubuntu系统下创建目录sudo mkdir ... 我这次在一个全新的系统上编译Linphone Android最新版本,在Virtual Box虚拟机上安装Ubuntu17.04 64位系统。 1.在Ubuntu系统下创建目录 sudo mkdir /data cd /data sudo mkdir tools sudo mkdir projects; 使用sudo chown将目录的所有者修改为你使用的用户。 2.安装JDK,下载jdk-8u144-linux-x64.tar.gz到/data/tools tar -xvf jdk-8u144-linux-x64.tar.gz 解压文件 sudo vi /etc/profile 编辑配置文件,在文件后面加上 export JAVA_HOME=/data/tools/jdk1.8.0_144 export JRE_HOME=$JAVA_HOME/jre exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 保存后退出,使用source /etc/profile使配置生效,使用java -version检查java是否安装正确。 $ java -version java version"1.8.0_144" Java(TM) SE Runtime Environment (build1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build25.144-b01, mixed mode) 3.安装Android SDK和Android NDK 现在Google不提供独立的SDK的界面安装工具,独立包SDK只能使用命令行工具来更新,下载sdk-tools-linux-*******.zip解压放到/data/tools/android-sdk下 进入../android-sdk目录运行 ./tools/bin/sdkmanager"build-tools;26.0.2" ./tools/bin/sdkmanager"platforms;android-26" ./tools/bin/sdkmanager"platform-tools" ./tools/bin/sdkmanager"extras;android;m2repository" ./tools/bin/sdkmanager"ndk-bundle" 这种方式下载后的可能在实际运行中可能会导致提示License没有确认无法进行编译,建议使用AndroId-Studio来下载Android SDK, 并且在/etc/profile文件设置路径 export ANDROID_HOME=/data/tools/android-sdk export ANDROID_NDK=/data/tools/android-sdk/ndk-bundle export PATH= $PATH:$ ANDROID_HOME /tools:ANDROID_HOME /platform-tools:$ ANDROID_NDK apt install git 安装git,安装完成后开始clone代码 cd /data/projects git clone https://github.com/BelledonneCommunications/linphone-android.git--recursive 也可以直接使用Linphone的官方git库,但是国内访问Linphone的官方git库非常慢,因此我这里使用了github上面的镜像。上面的命令只是主模块从github上获取,实际上子模块也需要去linphone.org获取,可以先使用 git clone https://github.com/BelledonneCommunications/linphone-android.git 来获取主模块的代码,然后运行 git submodule init 再打开项目的.git目录的config文件修改相关配置文件,指向github的仓库目录,然后运行 git submodule update 这样会快很多,但是不是所有的子模块在github上面都有镜像,有些还必须要从linphong.org获取。 然后还需要进入submodules/mswebrtc目录,再次执行 git submodule init git submodule update 请确保所有子模块都正确下载。 阅读linphone-android下的readme文件,上面说要安装几个组件yasm,nasm,ant,python,intltoolize,cmake,vim-common. 64位系统还需要安装ia32-libs 可以使用sudo apt install 命令来安装,intltoolize 会提示没有这个包,改为安装intltool,安装ia32-libs会提示已经被lib32ncurses5 lib32z1取代了,我们将这两个也装上,同时将lib32stdc++6也装上。 3.编译 进入linphone-android目录,运行./prepair.py,这里可以加一些参数来打开或者关闭一些功能,如: ./prepair.py -DENABLE_X264=YES 来打开X264的支持 具体可以使用命令./prepare.py --list-features 来检查 然后再直接运行make,成功后即可生成apk文件。 我用Android Studio重新整理了一份代码,so文件已经生成好,直接编译运行即可。 https://github.com/zhanggx/linphone-android.git |
温馨提示:喜欢本站的话,请收藏一下本站!