最近在写一个应用需要加载百度地图,光是配置环境就弄了好今天,看到他们都走了好远对自己的能力产生了怀疑。
但最后通过自己就的努力还是完成了。所以在这我想对未来的自己和遇到一样问题的筒靴说一句:你可以的,你没有所谓的天赋,所以你一定要更努力。努力追赶,也许会恶化你吃力,但要忌浮躁
下面是我遇到的问题。
1》虽然按照百度地图官方操作。但还是出现了一下的错误提示 :
28716-28716/hkhz.zhhb E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: hkhz.zhhb, PID: 28716
java.lang.UnsatisfiedLinkError: Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I
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.c.c.b(Unknown Source)
at com.baidu.mapapi.a.c(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
at hkhz.zhhb.BaiduMap.onCreate(BaiduMap.java:61)
at android.app.Activity.performCreate(Activity.java:5277)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at com.qihoo360.mobilesafe.loader.b.callActivityOnCreate(SourceFile:81)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2317)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2415)
at android.app.ActivityThread.access$800(ActivityThread.java:166)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1336)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5353)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:830)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:646)
at dalvik.system.NativeStart.main(Native Method)
在网上找了好长时间也没找到解决的方法。
我改了build.gradle下面的代码。
画圈的被水印遮挡的地方是代码是
jniLibs.srcDirs=['src/main/jniLibs']
其中
src/main/jniLibs
是.so文件所在的途径
关于这个问题还有其他的解决方法
http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=81526
2》关于在真机上运行时,只能显示网格无法加载地图,可能是你的应用密钥出现错误,
关于申请密钥的方法
http://lbsyun.baidu.com/apiconsole/key
在这里申请的密钥的开发包必须和android开发的包相同,关于android开发包的名称,可以在AndroidMainfest.xml下找到。
这样再重新,再在AndroidMainfest.xml加入密钥就好了。