融云IM與百度LBS結(jié)合的那些坑
? 近來(lái)垒在,由于項(xiàng)目需求的需要哀峻,需要在項(xiàng)目中集成百度LBS SDK以及融云IM SDK专肪,首先遇到的就是第三方SDK兼容性問(wèn)題呈枉,百度LBS與融云IM發(fā)生了排斥寸士,產(chǎn)生了嚴(yán)重的問(wèn)題:應(yīng)用在啟動(dòng)后以及發(fā)生異常,爆出一些SO相關(guān)的異常碴卧。當(dāng)然弱卡,在問(wèn)題出現(xiàn)前,所有的相關(guān)的基礎(chǔ)配置都是良好的住册。
05-02 12:51:08.476 13320-13320/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-02 12:51:08.476 13320-13320/? A/DEBUG: Build fingerprint: 'Xiaomi/cancro_wc_lte/cancro:6.0.1/MMB29M/7.4.27:user/release-keys'
05-02 12:51:08.476 13320-13320/? A/DEBUG: Revision: '0'
05-02 12:51:08.476 13320-13320/? A/DEBUG: ABI: 'arm'
05-02 12:51:08.476 13320-13320/? A/DEBUG: pid: 18575, tid: 18575, name: io.rong.push >>> io.rong.push <<<
05-02 12:51:08.476 13320-13320/? A/DEBUG: signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0x0
05-02 12:51:08.499 13320-13320/? A/DEBUG: r0 b4c96f00 r1 becf79ac r2 becf79b0 r3 00000001
05-02 12:51:08.499 13320-13320/? A/DEBUG: r4 00000000 r5 becf79b0 r6 b4c96f00 r7 becf796c
05-02 12:51:08.500 13320-13320/? A/DEBUG: r8 00000000 r9 b4cb6500 sl becf79b0 fp b4cb6500
05-02 12:51:08.500 13320-13320/? A/DEBUG: ip a09741a9 sp becf7950 lr b4701a9b pc a09741b8 cpsr 80070030
05-02 12:51:08.511 13320-13320/? A/DEBUG: backtrace:
05-02 12:51:08.512 13320-13320/? A/DEBUG: #00 pc 000101b8 /data/data/**packagename**/files/libs/libBaiduMapSDK_base_v4_3_0.so
05-02 12:51:08.512 13320-13320/? A/DEBUG: #01 pc 000eaa99 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
05-02 12:51:08.512 13320-13320/? A/DEBUG: #02 pc 000e63a1 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
05-02 12:51:08.513 13320-13320/? A/DEBUG: #03 pc 00402aa3 /system/lib/libart.so (art_quick_invoke_static_stub+170)
05-02 12:51:08.513 13320-13320/? A/DEBUG: #04 pc 007fbae4 [stack]
以上錯(cuò)誤婶博,最會(huì)讓人懷疑是百度SDK的問(wèn)題,然而荧飞,你可能會(huì)錯(cuò)怪它凡人。其實(shí)這個(gè)問(wèn)題是由于ndk編譯架構(gòu)的配置問(wèn)題名党,這樣說(shuō)吧,百度的NDK兼容一下兩個(gè)系統(tǒng)架構(gòu) armeabi ; 然而融云的只兼容armeabi-v7a, x86挠轴。由此传睹,這就產(chǎn)生了分析,這里需要對(duì)此都兼顧一下岸晦,選擇armeabi的欧啤,所以app.gradle里面應(yīng)該這樣配置:
ndk {
abiFilters "armeabi"
}
現(xiàn)在可以再嘗試編譯一次,先恭喜你启上,大功告成邢隧!