Android开发七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑
目录
Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑
前言
520,今天是一个特殊的日子。生活给我来了个bug礼包,bug礼包的来源是公司的App接入了七牛云实时音视频SDK实现音视频通话功能,后面我们又接入腾讯系的bugly热更新SDK实现网络更新功能,bug礼包来啦!!!
上面两个bug不是固定出现噢,一会报
20111
错误码,一会报
10054
错误码。说一下大概历程吧!遇到
20111
错误码,我就找后端的同学沟通我们都以为是服务端的原因,后端同学给了我两个固定的视频token就报
10054
错误码,上面两个错误码的解释是我从七牛音视频SDK官方文档截图下来的。我和后端同学都排查了自己的代码,发现都没有问题。于是,我又联系了七牛云实时音视频的客服,他们说是没有导入
jniLibs
里面
armeabi-v7a
的
.so
文件。七牛云实时音视频SDK有个令我很奇怪的地方,居然不需要在
build.gradle
文件中加入下面代码
android {
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
检查之后发现,我是有导入相应的
.so
文件的。
解决的过程
我发现在接入腾讯系的bugly热更新SDK的时候有加入下面的代码:
ndk {
// 设置支持的SO库架构//, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
abiFilters 'armeabi'
}
由于考虑apk大小和之前的接入经验,我只支持了
armeabi
的so库架构。最后我把上面的代码修改为:
ndk {
// 设置支持的SO库架构//, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
abiFilters 'armeabi', 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
支持所有的
.so
库架构之后,我发现七牛云的实时音视频功能又能正常使用了,而且不会报错。
总结
这次接入七牛云实时音视频SDK和腾讯系的bugly热更新SDK发生碰撞是我意向不到的,最神奇的事情是同样的代码在手机端是没有问题,但是在平板端是由问题。希望我这次踩坑对接入七牛云实时音视频SDK和腾讯系SDK的Android小伙伴有帮助。为自己打个小广告哈!下面是我的公众号的图片,我会经常更新一下技术干货或者开发踩坑历程,欢迎大家关注我!