关于百度地图SDK在" SDKInitializer.initialize(this);"初始化报空指针的问题

最近公司需要加入一个百度地图这个需求,自己在集成百度地图SDK的时候出现一些问题,在这里想跟大家分享一下.
第一个问题:

  Process: com.example.administrator.baidumapdemo, PID: 17457
                                                   java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.tools.JNITools.initClass(java.lang.Object, int) (tried Java_com_baidu_platform_comjni_tools_JNITools_initClass and Java_com_baidu_platform_comjni_tools_JNITools_initClass__Ljava_lang_Object_2I)
                                                       at com.baidu.platform.comjni.tools.JNITools.initClass(Native Method)
                                                       at com.baidu.platform.comjni.tools.a.b(Unknown Source)
                                                       at com.baidu.platform.comapi.a.<clinit>(Unknown Source)
                                                       at com.baidu.platform.comapi.a.a(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.example.administrator.baidumapdemo.MyApplication.onCreate(MyApplication.java:20)
                                                       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1028)
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5659)
                                                       at android.app.ActivityThread.-wrap2(ActivityThread.java)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)
                                                       at android.os.Handler.dispatchMessage(Handler.java:105)
                                                       at android.os.Looper.loop(Looper.java:156)
                                                       at android.app.ActivityThread.main(ActivityThread.java:6524)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)

像以上的问题,百度地图SDK找不到.so的架包,可能自己的配置不对,后来自己加上
这里写图片描述
或者是看下官网指导说明
就解决了上面的问题

问题2:
根据官网的指导,下载了百度地图的SDK,如下(坑爹来啦,这个问题我找了很久,差点就怀疑人生):
这里写图片描述
导入到项目里面之后运行
这里写图片描述
这个问题自己找了很久,后来自己重新建了一个新的项目,申请了新的AK,发现新项目的是可以用的,开始是华裔自己的项目AK问题,后来检查了一下AK的问题,开始怀疑.so包和架包的问题,后来自己直接去官网下载示例代码,直接把里面的架包和.so拷进项目,如下:
这里写图片描述
奇迹发生了,竟然好了,上面里面架包有一些是项目是不需要的,自己根据需要剔除了一部分,

猜你喜欢

转载自blog.csdn.net/CrazyRango/article/details/71374734