我在我的应用程序中使用了几个来自 android 支持的库,并在它们可用时更新它们。
在版本 23.2.0 的测试期间,当我更改 Android 6 上的应用程序权限时,我遇到了崩溃。如您所知,当用户禁用权限时,会重新创建应用程序(与设备旋转时的方式相同)您的可分割对象将被保存并从捆绑中恢复。
使用版本 23.2.0,重新创建应用程序时,出现包裹错误。我认为这个错误不是来自我的代码,而是来自android代码。当我使用 23.1.1 或更低版本的库时,我没有出现此错误。
这是一个转储:
E/AndroidRuntime:致命异常:main
进程:org.team.acs.scubalog,PID:15378
java.lang.RuntimeException:无法启动活动 ComponentInfo{org.team.acs.scubalog/org.team.acs.scubalog.MainActivity}:java.lang.RuntimeException:Parcel android.os.Parcel@3a99bef:解组未知类型代码3801188,偏移量 2452
在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
在 android.app.ActivityThread.-wrap11(ActivityThread.java)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
在 android.os.Handler.dispatchMessage(Handler.java:102)
在 android.os.Looper.loop(Looper.java:148)
在 android.app.ActivityThread.main(ActivityThread.java:5417)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
引起原因:java.lang.RuntimeException:Parcel android.os.Parcel@3a99bef:在偏移量 2452 处解组未知类型代码 3801188
在 android.os.Parcel.readValue(Parcel.java:2340)
在 android.os.Parcel.readArrayMapInternal(Parcel.java:2614)
在 android.os.BaseBundle.unparcel(BaseBundle.java:221)
在 android.os.Bundle.getSparseParcelableArray(Bundle.java:856)
在 com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2033)
在 android.app.Activity.onRestoreInstanceState(Activity.java:1008)
在 android.app.Activity.performRestoreInstanceState(Activity.java:963)
在 android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1163)
在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2389)
在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
在 android.app.ActivityThread.-wrap11(ActivityThread.java)
在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
在 android.os.Handler.dispatchMessage(Handler.java:102)
在 android.os.Looper.loop(Looper.java:148)
在 android.app.ActivityThread.main(ActivityThread.java:5417)
在 java.lang.reflect.Method.invoke(本机方法)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
经过排查,产生这个错误的库是
com.android.support:appcompat-v7:23.2.0 和
com.android.support:设计:23.2.0
如果我使用版本 23.1.1 => 不会崩溃。
关于这次事故你有什么想法吗?
Bug 已在支持库 23.2.1 上修复
Ref: SearchView 的应用程序在恢复时崩溃
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)