移动开发 \ Android \ Error inflating class com.baidu.mapapi.map.MapView

Error inflating class com.baidu.mapapi.map.MapView

总点击346
简介:使用百度地图遇到的问题,看起来挺常见的。 1.错误信息 java.lang.RuntimeException:UnabletostartactivityComponentInfo{swjtu.park/swjtu.park.activity.MainActivity}:android.view.InflateException:BinaryXMLfi

使用百度地图遇到的问题,看起来挺常见的。

1.错误信息

java.lang.RuntimeException: Unable to start activity ComponentInfo{swjtu.park/swjtu.park.activity.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class com.baidu.mapapi.map.MapView

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2351)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)

at android.app.ActivityThread.access$600(ActivityThread.java:165)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)

at android.os.Handler.dispatchMessage(Handler.java:107)

at android.os.Looper.loop(Looper.java:194)

at android.app.ActivityThread.main(ActivityThread.java:5391)

at java.lang.reflect.Method.invokeNative(Native Method)

at java.lang.reflect.Method.invoke(Method.java:525)

at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)

at dalvik.system.NativeStart.main(Native Method)

Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class com.baidu.mapapi.map.MapView

at android.view.LayoutInflater.createView(LayoutInflater.java:613)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)

at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)

at android.view.LayoutInflater.inflate(LayoutInflater.java:489)

at android.view.LayoutInflater.inflate(LayoutInflater.java:396)

at swjtu.park.model.NeedParkFragment.onCreateView(NeedParkFragment.java:19)

at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)

at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)

at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)

at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)

at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)

at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)

at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)

at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)

at android.app.Activity.performStart(Activity.java:5132)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2324)

... 11 more

Caused by: java.lang.reflect.InvocationTargetException

at java.lang.reflect.Constructor.constructNative(Native Method)

at java.lang.reflect.Constructor.newInstance(Constructor.java:417)

at android.view.LayoutInflater.createView(LayoutInflater.java:587)

... 26 more

Caused by: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10086 nor current process has android.permission.READ_PHONE_STATE.

at android.os.Parcel.readException(Parcel.java:1425)

at android.os.Parcel.readException(Parcel.java:1379)

at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getSubscriberId(IPhoneSubInfo.java:223)

at android.telephony.TelephonyManager.getSubscriberIdGemini(TelephonyManager.java:2109)

at android.telephony.TelephonyManager.getSubscriberId(TelephonyManager.java:1074)

at com.baidu.platform.comapi.c.c.g(Unknown Source)

at com.baidu.platform.comapi.c.c.c(Unknown Source)

at com.baidu.mapapi.a.b(Unknown Source)

at com.baidu.mapapi.map.MapView.a(Unknown Source)

at com.baidu.mapapi.map.MapView.<init>(Unknown Source)

... 29 more

提取出错误信息:

Binary XML file line #7: Error inflating class com.baidu.mapapi.map.MapView

然后上网找了N多解决方案,比如application里加android:name=”“…,还有在setContentView前初始化BMapManager对象。。。。但都没有效。

2.解决

直到看到一篇博客:此博客


然后我查看了自己的错误,还真有这个权限:

Caused by: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10086 nor current process has android.permission.READ_PHONE_STATE.

于是加上之后就正常了。

3.总结

开始我还以为是Fragment里不能加载百度地图,于是用Activity来试,还是同样的错误。


毕竟太年轻,光会看log还不行,还要认真看才能发现所有问题。


革命的道路还有很远。

意见反馈 常见问题 官方微信 返回顶部