关于android整合好视通SDK经验总结(一)

9 篇文章 0 订阅
4 篇文章 0 订阅

关于android整合好视通SDK经验总结(一)

最近工作上遇到了新的需求,需要支持视频通话功能,并且已经采购了好视通。目前功能已经实现,写下本文总结经验

一、官网下载sdk以及下载demo示例

好视通sdk下载链接:http://paas.hst.com/developer/sdk
好视通demo下载链接:http://paas.hst.com/developer/demo

sdk下载好后解压如图:
在这里插入图片描述
该sdk里只提供了基础的组件,并没有将一整套视频通话的界面和逻辑封装在里面,需要自己画界面以及处理逻辑。但是提供的demo是有界面以及逻辑的,提供了一套基本的界面实现了常用的一系列功能。
我这里采用的方法就是直接将demo打成library包,当成我主项目里的一个module整合进主app里。

二、运行demo

先将下载的demo跑起来,用git的可以直接复制这行代码:
git clone https://github.com/paas-hst/MeetingDemo_android.git
在这里插入图片描述
这里下载下来之后并不能直接运行,因为观察目录结构会发现这个demo其实只是project工程下的app这一目录级别,也就是说他外面应该还有一层项目目录。

解决办法如下:打开AS新建一个空项目,选择No Activity
在这里插入图片描述
这里Minimum Sdk查看好视通demo之后发现他minSdk 17所以这里选17 随便选也无所谓 后面有说明
这里 Use legacy android support libraries 一定要勾选,因为不勾选就会默认使用androidx的包。
在这里插入图片描述
建好之后 直接将demo里的 src 整个文件夹 拷进刚才新建项目里 替换掉原有的src 文件,然后将好视通demo里的 build.gradle和 proguard-rules.pro拷进app目录下(不是项目根目录):!!因为这里把原来的文件拷进来了 所以上面 选minSdk那里选什么都没影响
在这里插入图片描述
接下来 把刚才解压好的sdk放进 app目录下的libs文件里:
!](https://img-blog.csdnimg.cn/20210316125513635.png)

在app目录下的 build.gradle 里加上一句话引入该sdk:
在这里插入图片描述
这时候应该可以运行demo了但是会闪退报错 couldn’t found xxx.so,找不到某个so文件。
这时检查一下

在这里插入图片描述
该文件夹下是否有这个so文件,如果没有从下载的demo里对应的文件夹里拷进去,并在(app)build.gradle里加上这一句代码:
ndk {
abiFilters “armeabi-v7a” //,“armeabi”
}
在这里插入图片描述
不出意外,demo可以直接运行起来了,并且可以正常使用视频通话的功能

三、整合进app

这一步也就是将这个好视通整合进自己的主项目工程里,这里有两种方法:

  1. 将刚刚能够运行起来的demo打成aar包,依赖进我们的主项目里,即可进行使用
  2. 将刚刚的demo打成lib包直接当成住项目的一个module模块,进行使用。

我这里采用的是直接主项目里新建一个module:选择library
在这里插入图片描述
在这里插入图片描述
然后把demo里的src文件复制进去替换掉原来的 src文件,build.gradle和proguard-rules.pro也替换掉
目录如下:
在这里插入图片描述
接下来运行,出现问题了,butterknife报错了,无法绑定id,查看发现是因为在library里R.id.xxx不再是final类型了,不是常量了,而BindView(int)l里面是需要传入常量。所以报错了。

解决方案:
1.在项目根目录的build.gradle里的dependencies中加入
classpath ‘com.jakewharton:butterknife-gradle-plugin:9.0.0’
在这里插入图片描述
2.在用到butterknife的module包里的build.gradle里顶部加入
applyplugin:‘com.jakewharton.butterknife’

在这里插入图片描述
在dependencies里加入
implementation’com.jakewharton:butterknife:8.4.0’
annotationProcessor’com.jakewharton:butterknife-compiler:8.4.0’
在这里插入图片描述
3.把module里用到的@BindView(R.XXX)资源全部替换成@BindView(R2.XXX)
注意这里只把@BindView注解里的R换成R2其他地方不变 例如:
在这里插入图片描述
下面还是R.layout

接下来就可以运行了。
下一篇 好视通sdk整合经验总结(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击的code

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

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

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

打赏作者

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

抵扣说明:

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

余额充值