Android Studio中用百度地图SDK做地图时遇到的一个问题

原创 2015年11月20日 18:53:54

在Android Studio中用百度地图SDK做地图时,可能会遇到这种情况:
做基本地图和标注物时,运行正常,可就是做定位的时候,初始化语句报错:
SDKInitializer.initialize(getApplicationContext());
报的错误如下:
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.c.a(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)

            at com.jyq.baidumymaplocation.MainActivity.onCreate(MainActivity.java:29)
            at android.app.Activity.performCreate(Activity.java:5146)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2191)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2282)

解决思路:

在开发指南中是这样写的:

在相关下载里下载最新的库文件。将so文件的压缩文件解压出来,把对应架构下的so文件放入开发者自己APP的对应架构下的文件夹中(建议全部放入以提高程序兼容性),将locSDK_6.X.jar文件拷贝到工程的libs目录下,这样您就可以在程序中使用百度定位SDK了。
使用eclipse开发的开发者,只需要将SO的文件夹放到libs下即可;使用AndroidStutio的开发者除了上述操作,还需要在build.gradle中配置SO的使用,如下所示:
sourceSets {
        main {
    jniLibs.srcDirs = ['libs']
        }
}

我认为,可能是它直接把.so文件放在了libs下,所以要在build.gradle中配置,而如果我们是在src/main下新建了jniLibs文件,将包含.so文件的文件夹都放入了jniLibs中,所以加上开发指南中的那句话是会报错,因此去掉那句话,结果可以运行了!

基本知识:

在百度地图SDK中,baidumapapi_vX_X_X.jar和BaiduLBS_Android,有何不同??
baidumapapi_vX_X_X.jar 只是地图sdk的jar包,BaiduLBS_Android 是地图sdk与定位或导航sdk一起打包的,两个jar是有冲突的,
放不到一个工程里,如果只需要地图sdk下载baidumapapi_vX_X_X.jar即可,如果需要其他sdk,勾选多个sdk组合下载BaiduLBS_Android

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android studio 百度地图开发(1)配置工程、显示地图

最近在学习写app,需要用到百度地图,于是整理了一份入门的资料,仅供参考。 开发环境:win7 64位,Android Studio,请注意是Android Studio。...
  • chentravelling
  • chentravelling
  • 2016年03月28日 12:07
  • 8591

Android studio 百度地图开发(1)配置工程、显示地图

最近在学习写app,需要用到百度地图,于是整理了一份入门的资料,仅供参考。 开发环境:win7 64位,Android Studio,请注意是Android Studio。...
  • chentravelling
  • chentravelling
  • 2016年03月28日 12:07
  • 8591

最详细的Android Studio百度地图(BaiduMap)开发教程,可以用作官方文档的教程!

由于工作原因,需要用到地图模块,之前一直是用Eclipse开发百度地图, 在Eclipse环境下搭建百度地图,只要按照百度地图官网一步步配置就可以了,相对来说很简单,但是由于现在开发工具切换到了An...
  • syc000666
  • syc000666
  • 2016年02月27日 19:31
  • 22475

Android studio 百度地图开发(3)地图导航

Android studio 百度地图开发(3)地图导航
  • chentravelling
  • chentravelling
  • 2016年03月30日 11:53
  • 8621

android 百度地图简单使用(android Studio )

最近由于项目需要定位以及地图功能,于是学习了百度地图的简单使用,下面总结下百度地图开发的几个步骤: 1、申请百度账号  --链接地址:https://passport.baidu.com/v2/?lo...
  • u010892109
  • u010892109
  • 2016年08月13日 13:42
  • 6483

百度地图之Android-studio项目配置及开发(二)

配置 1、到百度地图官方中下载开发所需的.so和jar库,下载地址,其中对应模块功能介绍请查看这里 2、将下载好库引入到项目工程中...
  • zjws23786
  • zjws23786
  • 2016年08月02日 13:16
  • 2442

Android Studio百度地图入门(导入jar与so文件)

本人用Android Studio做百度地图开发,调试了一整天,始终无法通过。然后怀疑代码有问题,就换Eclipse进行代码编写,毕竟网上关于Eclipse的资料多一些,出了问题容易解决,后来按照百度...
  • Double2hao
  • Double2hao
  • 2015年11月16日 10:31
  • 5178

AndroidStudio 中使用 百度地图 <四> 百度地图实现打开就显示当前位置,个人摘要

0:注册key http://lbsyun.baidu.com/apiconsole/key/create 关于如何创建SHA1 请参考:里面的AndroidStudio 中使用 百度地图 百度地...
  • Rodulf
  • Rodulf
  • 2016年03月13日 21:33
  • 1534

百度地图demo(Android Studio)

近期使用百度地图,研究了一下百度地图的demo。 一、首先是要申请百度地图开发账号 申请地址: http://lbsyun.baidu.com/apiconsole/key 自己注册账号即可。 二...
  • lintax
  • lintax
  • 2016年12月24日 16:37
  • 1697

eclipse中集成百度地图的项目导入Android studio加入so文件的问题

刚到一家新公司,之前的项目用的是eclipse开发的,在网android studio转的时候,就遇到了百度地图这方面的问题。我先贴出百度地图官方给出的在不同的开发工具下怎么引用so文件。 开发...
  • qq_18495939
  • qq_18495939
  • 2015年10月20日 09:47
  • 1568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Studio中用百度地图SDK做地图时遇到的一个问题
举报原因:
原因补充:

(最多只允许输入30个字)