Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑

前言

520,今天是一个特殊的日子。生活给我来了个bug礼包,bug礼包的来源是公司的App接入了七牛云实时音视频SDK实现音视频通话功能,后面我们又接入腾讯系的bugly热更新SDK实现网络更新功能,bug礼包来啦!!!
Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑_第1张图片
Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑_第2张图片
上面两个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小伙伴有帮助。为自己打个小广告哈!下面是我的公众号的图片,我会经常更新一下技术干货或者开发踩坑历程,欢迎大家关注我!
Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑_第3张图片

你可能感兴趣的:(Android开发——七牛云实时音视频SDK与腾讯系SDK的碰撞与踩坑)