高德地图的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

你可能感兴趣的:(学习笔记)