腾讯云SDK 与 腾讯Bugly集成冲突记录

项目需要使用腾讯云sdk做直播,同时又集成bugly来做热更新,在集成完腾讯云sdk后项目在debug模式和release模式都正常,随后有集成bugly后,使用bugly生产debug版本的基线包,安装完成后会有如下异常:

java.lang.UnsatisfiedLinkError: No implementation found for 
int[] com.tencent.rtmp.TXRtmpApi.getSDKVersion() 
(tried Java_com_tencent_rtmp_TXRtmpApi_getSDKVersion and Java_com_tencent_rtmp_TXRtmpApi_getSDKVersion)

在查询完腾讯云官方文档后确定原因,可以先看一下项目gradle之前的配置

 buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            ndk {
                abiFilters "armeabi","armeabi-v7a"
            }
        }
    }

再看看之后的

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            ndk {
                abiFilters "armeabi","armeabi-v7a"
            }
        }
        debug {
            ndk {
                abiFilters "armeabi","armeabi-v7a"
            }
        }
    }

问题就出来了,在构建类型中debug模式没有配置so文件目录,使用bugly打包时so文件没有被导入项目,导致TXRtmpApi.getSDKVersion()方法找不到,如此报出以上异常,同时在解决过程中也遇到其他问题,在此不一一记录了,但基本都在官方文档里有说明,比如集成bugly之后自定义的Application需要集成TinkerApplication,同时,Application里的逻辑需要放在自定义的继承自TinkerApplicationLike类里进行处理。

参考

你可能感兴趣的:(腾讯云SDK 与 腾讯Bugly集成冲突记录)