1. 程式人生 > >高德地圖的No implementation found for 問題解決

高德地圖的No implementation found for 問題解決

手頭一個Android專案需要用地圖,於是選擇了高德地圖,之前一直用百度地圖的

結果app在我的手機上閃退,而有些同事的手機上可以正常執行

每次執行到mapview.onCreate時就閃退了

錯誤資訊就是 No implementation found for long com.autonavi.amap.mapcore...

百度了一下一般原因就是so檔案不匹配等原因,於是重新下載sdk,結果依然如故

直接下載了高德的DEMO結果可以正常執行,直接將DEMO的libs檔案複製到我的工程裡,還是不行

猜想是和工程裡的什麼衝突了吧,但是我的工程裡libs只有高德的東西啊

最後麼辦法,直接將生成的apk解開,發現問題的所在了

原來我的工程用到了xutils,而在utils的arr檔案裡的so檔案除了armeabi,還有x86等,而高德地圖只有armeabi、arm64-v8a沒有支援x86

解決方法:

就是保留共有的處理器資料夾armeabi

方法是修改gradle配置檔案

在build.gradle檔案中加入

ndk {
    abiFilters "armeabi"
}

可能還需要在gradle.properties檔案裡增加

android.useDeprecatedNdk=true