Linphone安卓端移植和开发(1)

老司机引言:之前做过一款即时通讯的App,里面用到语音通话的模块,老司机看了各大开源的语音通    
话和视频通话,最终敲定使用Linphone。别问我为什么用这个,当时WebRTC还不是特别火,所以没
有怎么关注。闲来无事,将我的研究成果写下来,也算是巩固了。 

1.linphone开源项目的编译和移植

1.1 准备环境

地址:https://github.com/BelledonneCommunications/linphone-android
这里下载源码要使用git,如果直接下压缩包的话还需要将子模块的内容下下来,不要问我子模块是啥,
所以这里使用到的git命令是

git clone git@github.com:BelledonneCommunications/linphone-android.git --recursive

当然你要是下了压缩包的话,或者上面过程中下载子模块失败的话,也可以使用下面这个命令单独下载子模块

cd到项目主目录
git submodule update --init --recursive  

因为需要编译源码所以需要linux环境,mac本的也是差不多的,这里老司机用的是ubuntu系统,之前也用过centOS的系统编过,虽然最终也成功了,但是个中曲折也只有自己知道,好吧,下面简单说说过程
人家github上写的很详细啊
这里写图片描述

ubuntu的系统基本上只需要安装一下sdk,ndk 还有cmake升级一下,这里略过,请自行查询方式方法。

1.2 开始编译

安装完了之后呢,cd到项目目录,使用python命令自动makefile文件

python prepare.py  {可选arm armv7 arm64 x86 x86_64,或者不填}

看得懂python的这里也略过,自己去prepare.py里看。就说一下脚本里常用的

python prepare.py -clean    clean一下项目删除之前生成的文件
python prepare.py -build    build一下java项目

上面的makefile文件生成之后,直接make一下就等着就行了

make 

这里是生成之后的目录
这里写图片描述

我擦,我居然贴了一个android studio的工程目录图片,太不专业了

基本上到这就完成的linphone的编译工作,当然你如果觉得这么多so包好麻烦,你就使用linphone-sdk中静态库自己再编译称一个so包就好了,我当时也想这么做,奈何项目比较急,作罢作罢

1.3 开始移植

咱先看看都有哪些需要移植,linphone人家是多平台开发,就是吊

  1. 需要上面的.so文件
  2. 需要子模块linphone下的java文件,子模块mediastreamer2中的java文件
    拷完之后就长这样,两年前也长这样
    这里写图片描述

下节开始写服务器端的搭建

移植Android端源码:https://github.com/ddssingsong/VoipLibrary

如需要详细语音通话和视频通话,请入群:601332720

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ddssingsong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值