Eclipse adt 23中运行百度地图官网上的demo出现fatal错误
出现的error的信息如下:
05-04 08:23:49.993: E/AndroidRuntime(2948): FATAL EXCEPTION: main
05-04 08:23:49.993: E/AndroidRuntime(2948): java.lang.ExceptionInInitializerError
05-04 08:23:49.993: E/AndroidRuntime(2948): at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
05-04 08:23:49.993: E/AndroidRuntime(2948): at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
05-04 08:23:49.993: E/AndroidRuntime(2948): at org.example.baidumap.MainActivity.onCreate(MainActivity.java:24)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.os.Handler.dispatchMessage(Handler.java:99)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.os.Looper.loop(Looper.java:130)
05-04 08:23:49.993: E/AndroidRuntime(2948): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-04 08:23:49.993: E/AndroidRuntime(2948): at java.lang.reflect.Method.invokeNative(Native Method)
05-04 08:23:49.993: E/AndroidRuntime(2948): at java.lang.reflect.Method.invoke(Method.java:507)
05-04 08:23:49.993: E/AndroidRuntime(2948): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-04 08:23:49.993: E/AndroidRuntime(2948): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-04 08:23:49.993: E/AndroidRuntime(2948): at dalvik.system.NativeStart.main(Native Method)
05-04 08:23:49.993: E/AndroidRuntime(2948): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load BaiduMapSDK_v3_1_0: findLibrary returned null
05-04 08:23:49.993: E/AndroidRuntime(2948): at java.lang.Runtime.loadLibrary(Runtime.java:429)
05-04 08:23:49.993: E/AndroidRuntime(2948): at java.lang.System.loadLibrary(System.java:554)
05-04 08:23:49.993: E/AndroidRuntime(2948): at com.baidu.mapapi.a.<clinit>(Unknown Source)
05-04 08:23:49.993: E/AndroidRuntime(2948): ... 16 more
解决办法:
原因在于使用的模拟器的配置有问题。
模拟器要使用ARM版本的CPU。
注:对于模拟器,使用的ARM版本的CPU
将模拟器修改为arm版本之后,再运行出现如下问题:
baidumapsdk错误“”Authentication Error errorcode: 102 uid: null appid -1 msg: IP/SN/SCODE/REFERER Illeg
这个是因为key的问题。
网上给的解决办法如下:
直接重新申请一个key,就可以了。
同时,对于手机(真机),上述的错误可以忽略,即:在真机上,照样都是可以用的。
注:
对于如上CPU的类别中,如果使用的是ARM(armeabi),则在libs目录中创建的目录是armeabi;对于CPU使用的是ARM(armeabi-v7a),则在libs目录中创建的目录是armeabi-v7a;有时候,需要将两个目录都创建,具体的情况具体对待。