android 高德地图 java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapC

Android 专栏收录该内容
201 篇文章 0 订阅

Android 高德地图  java.lang.UnsatisfiedlinkError   Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lang/String;)


遇到一个bug 别的机型上没有碰到 只在lenovo的手机上  使用高德地图出现了bug   看了下log日志出现了 Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance


错误类型是   java.lang.UnsatisfiedlinkError


看了下java jdk  api  :


 java.lang.UnsatisfiedlinkError   的解释如下 


Thrown when an attempt is made to invoke a native for which an implementation could not be found.


没有找到本地接口  感觉应该是 jni  没有找到相应的类库  


对比了一下高德提供的demo  发现少了x86的文件夹   



将x86文件夹粘贴到lib目录下运行就好了



之后搜索才知道  部分 lenovo 手机使用的是  x86的处理器 


x86 和 arm 需要区别对待


如果上面的方法还不能解决问题,那你可以去官方下载一个demo,然后运行一下,看能否在你的手机上运行,如果可以运行,那就把libs包下的文件复制到自己项目中的libs下面,注意,一定要一一对应,如果不一一对应,可能还会出现错误,例如:本来demo中放在armeabi中的文件,你却复制到了armeabi-v7a里面,就有可能还会报错。




  • 1
    点赞
  • 2
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值