我的项目是从eclipse上转到Android studio上的
结果发现在使用高德的时候报错了,
下面是错误信息:
java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lang/String;)J at com.autonavi.amap.mapcore.MapCore.nativeNewInstance(Native Method) at com.autonavi.amap.mapcore.MapCore.(MapCore.java:62) at com.amap.api.mapcore.AMapDelegateImpGLSurfaceView.
(AMapDelegateImpGLSurfaceView.jav a:345) at com.amap.api.mapcore.AMapDelegateImpGLSurfaceView.
(AMapDelegateImpGLSurfaceView.java:307) at com.amap.api.mapcore.ai.a(MapFragmentDelegateImp.java:122) at com.amap.api.maps.MapView.onCreate(MapView.java:131)
网上查了好久,我觉得解决方式大概是2种:
第一种:由于 转Android studio的时候没有注意。所以so文件无法识别,需要在build.gradle里设置 main {
jniLibs.srcDirs = ['libs']
}
第二种:由于你的libs里面有很多的jni的类库,但是高德没有这么多类库,但是当你添加了之后就会系统就会到这个类库里面找,就出错了。所以,如果可以的话,删除不需要的类库。(或者往里面添加高德的so文件(没试过,不知道有没有效果))
转载于:https://blog.51cto.com/295474676/1825282