最近在写百度地图的android应用,光是环境配置就废了好几天,作为一个android小白,看到别人很快就实现了这些 功能,心里产生了怀疑,认为自己不适合编程这个职业,在这里,我想对自己说,同样也是对和我一样深受此问题的童鞋说一声,虽然会遇到这种那种想不到的问题,但记住要忌浮躁,静下心来当你实现了你想要的,受了多少苦就会有多大的成就感。
言归正传,在配置百度地图api时,以及实现hello baidumap我遇到了两个问题,而且这两个问题在网上很少有关于解决方法(至少我没找到)就跟大家分享一下把,希望能帮你们解决问题。
关于大致的配置就按照百度地图api官网的配置就好了//
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/buildproject
下面说一下我遇到的问题,
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下添加了如下代码:
sourceSets{ main{ jniLibs.srcDirs=['src/main/jniLibs'] }
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } //在这添加的 sourceSets{ main{ jniLibs.srcDirs=['src/main/jniLibs'] } } // } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.2.0' compile files('libs/BaiduLBS_Android.jar') }
jniLibs.srcDirs=['src/main/jniLibs']
是.so文件所在文件夹