項目需要使用騰訊云sdk做直播招刹,同時又集成bugly來做熱更新,在集成完騰訊云sdk后項目在debug模式和release模式都正常,隨后有集成bugly后衰腌,使用bugly生產(chǎn)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"
}
}
}
問題就出來了右蕊,在構(gòu)建類型中debug模式?jīng)]有配置so文件目錄,使用bugly打包時so文件沒有被導(dǎo)入項目吮螺,導(dǎo)致TXRtmpApi.getSDKVersion()方法找不到饶囚,如此報出以上異常,同時在解決過程中也遇到其他問題鸠补,在此不一一記錄了萝风,但基本都在官方文檔里有說明,比如集成bugly之后自定義的Application需要集成TinkerApplication紫岩,同時规惰,Application里的邏輯需要放在自定義的繼承自TinkerApplicationLike類里進行處理。