您的位置:首页 > 移动开发 > Android开发

android百度地图开发遇到的错误及解决方法

2014-06-25 10:52 375 查看
         最近在做公交查询方面的项目,本来公司要求用Google Map的,但是Google Map android的V1版本已经不允许申请Key了,V2可以申请但是必须是谷歌原生Rom,并且手机必须带有 google play service这两点限制了国内大多数手机,所以又重新选择了百度地图。百度地图4.2开发的时候首先申请key不必说了。下面是我项目中出现的报错,以及我找到的解决方法。 我准备把这个项目中所有关于百度地图的报错做成系列,当然如果有各位博友如果有更好的解决办法,欢迎及时指出。

06-25 02:50:27.080: W/dalvikvm(1019): threadid=1: thread exiting with uncaught exception (group=0x40015560)

06-25 02:50:27.110: E/AndroidRuntime(1019): FATAL EXCEPTION: main

06-25 02:50:27.110: E/AndroidRuntime(1019): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cbss.activity/com.cbss.activity.RouteMapActivity}: android.view.InflateException: Binary XML file line #40: Error inflating class com.baidu.mapapi.map.MapView

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread.access$1500(ActivityThread.java:117)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.os.Handler.dispatchMessage(Handler.java:99)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.os.Looper.loop(Looper.java:123)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread.main(ActivityThread.java:3683)

06-25 02:50:27.110: E/AndroidRuntime(1019): at java.lang.reflect.Method.invokeNative(Native Method)

06-25 02:50:27.110: E/AndroidRuntime(1019): at java.lang.reflect.Method.invoke(Method.java:507)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)

06-25 02:50:27.110: E/AndroidRuntime(1019): at dalvik.system.NativeStart.main(Native Method)

06-25 02:50:27.110: E/AndroidRuntime(1019): Caused by: android.view.InflateException: Binary XML file line #40: Error inflating class com.baidu.mapapi.map.MapView

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.createView(LayoutInflater.java:518)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.Activity.setContentView(Activity.java:1657)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.cbss.activity.RouteMapActivity.onCreate(RouteMapActivity.java:32)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)

06-25 02:50:27.110: E/AndroidRuntime(1019): ... 11 more

06-25 02:50:27.110: E/AndroidRuntime(1019): Caused by: java.lang.reflect.InvocationTargetException

06-25 02:50:27.110: E/AndroidRuntime(1019): at java.lang.reflect.Constructor.constructNative(Native Method)

06-25 02:50:27.110: E/AndroidRuntime(1019): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)

06-25 02:50:27.110: E/AndroidRuntime(1019): at android.view.LayoutInflater.createView(LayoutInflater.java:505)

06-25 02:50:27.110: E/AndroidRuntime(1019): ... 21 more

06-25 02:50:27.110: E/AndroidRuntime(1019): Caused by: java.lang.IllegalStateException: you have not supplyed the global app context info from SDKInitializer.initialize(Context) function.

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.baidu.mapapi.a.b(Unknown Source)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.baidu.mapapi.map.MapView.a(Unknown Source)

06-25 02:50:27.110: E/AndroidRuntime(1019): at com.baidu.mapapi.map.MapView.<init>(Unknown Source)

06-25 02:50:27.110: E/AndroidRuntime(1019): ... 24 more
06-25 02:50:28.590: I/Process(1019): Sending signal. PID: 1019 SIG: 9

上面的这个报错发生的原因可能有两点:

        第一:你可能在项目中使用了默认的Application,百度地图API没有能够初始化。解决办法是:自定义一个xxxApplication类继承自android.app.Application;然后在xxxApplication中复写onCreate()方法,在onCreate()方法中加上这么一句代码SDKInitializer.initialize(this)。

        第二:就是你可能已经自定义过Application,但是没有在android manifest中声明,声明的方式就是在application标签的属性中加入android:name属性,用name属性关联你定义的Application.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息