java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcach

这两天做项目的时候导入百度地图3.7版本的sdk出错了,遇到的错误是:

java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()J

                                                                                   at com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create(Native Method)
                                                                                   at com.baidu.platform.comjni.map.commonmemcache.a.a(Unknown Source)
                                                                                   at com.baidu.platform.comapi.util.f.b(Unknown Source)
                                                                                   at com.baidu.platform.comapi.a.c(Unknown Source)
                                                                                   at com.baidu.platform.comapi.b.a(Unknown Source)
                                                                                   at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)

                                                                                   at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)

找了好久怎么也没找到,查了很多文档,终于找到原因了。具体的原因如下:

1.SDKInitializer.initialize(getApplicationContext());这个要放在setContentView()方法前面,顺序不要搞错。其实更建议放在application中初始化,官方也是如此建议。

2.导入jar和.so文件。根据官方文档这两个文件放置位置如图所示


当然,如果你挡在lib文件夹下也是可以的。在build.gradle文件中的Android节点下加入即可。这个千万不能搞错了,要一一对应,不然as是读不到so库的。

3.然而前两步都对应了问题还是没有解决,那么你就该看下这步了。检查下你是否把 基础地图 的 jar   +  (基础地图 + 计算 工具) 的 sdk . so 组合编译了,如果是的话你在SDKInitializer.initialize(getApplicationContext());初始化的时候需要改成

if (!"generic".equalsIgnoreCase(Build.BRAND)) {
    SDKInitializer.initialize(getApplicationContext());
}
这样问题就能够迎刃而解了,可以正常使用百度地图sdk。这是个人总结得出,遇到该问题的同学都可以试试看哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值