Anroid 开发so文件找不到问题-例高德地图SDK提示com.autonavi.amap.mapcore.MapCore.nativeNewInstance问题
使用高德地圖碰到此問題,糾結許久 記錄在此,希望遇到相同問題的讀者可以有所借鑒。
錯誤截圖:
高德sdk demo 是沒有問題的,但集成到項目中就會有問題,根據網上解析是找不到so庫,但庫明明在的呀,高德未提供其它版本的庫,全在這里了,見圖:
導致問題的原因主要有兩種:
1、so文件操作不當問題。可能是so文件與jar不匹配,也可能是so文件未導入。
解決辦法:
下載與jar相匹配的jar。sdk下載網址:http://lbs.amap.com/api/android-sdk/down/
2、由于在X86手機上運行,而此時高德地圖官網并未發布X86的so文件,導致應用崩潰。
(注:android4.4之后的大部分機型都是X86的)
解決辦法:
只保留armeabi文件夾,其他的統統刪掉,因為大多數x86平臺的手機都會兼容armeabi的版本。但是會發現就算這樣做了在模擬器上面依舊裝不上,那是因為模擬器沒有兼容,但是他可以替換平臺。如果是genymotion的話,需要安裝一個轉換為arm的插件。
以上方法都不好用:
項目中用到了融云的SDK,我發現它libs文件夾下是全的,見圖:
看到這里我突然明白了,原因就在這里,融云的庫做為項目的依賴module 來的,最終于生成的 編譯文件會有上面四個平臺的文件夾,如果高德地圖sdk,
找v7a的庫真的是找不到,如果沒有armeabi-v7a的話,哪么他會去找armeabi;但現在有,所以找不到也正常了;
解決方案,把下面這個圖,保留和高德一樣的文件夾,其它刪除;或者在給高德加幾個文件夾,把armeabi相應的文件拷貝過去。都可以解決問題;
總結
以上是生活随笔為你收集整理的Anroid 开发so文件找不到问题-例高德地图SDK提示com.autonavi.amap.mapcore.MapCore.nativeNewInstance问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mongo:(3)windows上mon
- 下一篇: scjp第一章学习总结