Ubuntu18.04编译Linphone Android最新版本4.4

2 篇文章 0 订阅
2 篇文章 0 订阅

从github上下载最新的代码

https://github.com/BelledonneCommunications/linphone-android.git

下载后可以看到有一个linphone-sdk-android目录,但是里面只有一个build文件,而且也没有之前3.X版本的submodules的库。

直接用Android Studio打开项目,也会自动下载Linphone自己编译好的SDK。

现在的版本的代码结构和之前的版本有很大不同,不会将原来底层的协议栈放到在代码,只有JAVA的代码,linphone的SDK需要另外编译。

linphone SDK的android编译必须要在Linux或者MacOS下面编译。我们就使用Ubuntu来编译。

使用虚拟机安装ubuntu-18.04.2,配置环境,并且安装Java和Android SDK/NDK,Java只能装Java8,太高版本会编译会失败,具体可参照我之前的文章《Ubuntu17.04编译Linphone Android最新版本3.2.8》

https://blog.csdn.net/liccon/article/details/78275899

最新的4.3版本用最新的NDK20也可以成功编译,推荐使用Android Studio的SDK管理界面下载NDK。下载完成后要在/etc/profile加入NDK的路径,在SDK下的./ndk/版本号 目录

我们下载linphone-sdk的代码

git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive

下载完成后,阅读linphone-sdk的README.md文件,cmake,python(2.7版本),pip(pip实际的安装包是python-pip),yasm,nasm,doxygen

,Pystache (使用pip install pystache安装), six (使用pip install six安装),除此之外,还需要安装pkg-config

PS:如提示无法定位python-pip,可以安装python3,安装之前需要将原来的python2移除

sudo apt-get install python3 python3-dev python3-pip

Pystache 和则需要pip3 install pystache指令安装

 

进入linphone-sdk的目录,创建build子目录

mkdir build

cd build 

cmake .. -DLINPHONESDK_PLATFORM=Android

cmake --build .

 

也可以加上编译选项

cmake .. -DENABLE_G729=YES -DENABLE_SILK=YES -DLINPHONESDK_PLATFORM=Android

cmake --build .

这是编译G729和SILK的选项,也可以增加其他选项。其他的选项有

ENABLE_VIDEO  是否启动视频,默认是允许

ENABLE_NON_FREE_CODECS 

ENABLE_GSM

ENABLE_OPUS

ENABLE_SPEEX

ENABLE_DEBUG_LOGS

ENABLE_UNIT_TESTS

ENABLE_FFMPEG

ENABLE_VPX

ENABLE_MKV

ENABLE_SRTP

ENABLE_ZRTP

如果编译顺利,将会在build/linphone-sdk/bin/output/aar下面生成linphone-sdk-android-release.aar,linphone-sdk-android-debug.aar两个文件,我们将文件复制到linphone-android的linphone-sdk-android子目录下,然后使用Android Studio打开linphone-androidbi编译即可。

Linphone-android默认会引用网络上的linphone-sdk版本,需要手工修改app下的gradle.build。

releaseImplementation project(path: ":linphone-sdk-android", configuration: 'release')
debugImplementation project(path: ":linphone-sdk-android", configuration: 'debug')

编译过程中可能会提示NDK版本不对的问题,这个时候在cmake/Android/gradle/build.gradle.cmake文件里面项android下面增加ndkVersion的配置。如

    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    ndkVersion "21.3.6528147"

 

具体代码在github上获取

https://github.com/zhanggx/linphone-android.git

也可以直接下载我编译好的linphone-sdk-android-release.aar,linphone-sdk-android-debug.aar再单独下载https://github.com/BelledonneCommunications/linphone-android.git 的代码自行构建工程编译。

链接: https://pan.baidu.com/s/1h10aKH1OsOmRtU6qkBIjKA 提取码: maju

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值