【发布时间】:2021-02-07 21:22:23
【问题描述】:
我遇到的问题与其他 20 个主题几乎相同,它们指向 RuntimeException: Parcel android.os.Parcel@72a6e36: Unmarshalling unknown type code,但偏移量不同 (500):
Caused by: java.lang.RuntimeException: Parcel android.os.Parcel@72a6e36: Unmarshalling unknown type code 2131365270 at offset 500
at android.os.Parcel.readValue(Parcel.java:2443)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2798)
at android.os.Parcel.readSparseArray(Parcel.java:2067)
at android.os.Parcel.readValue(Parcel.java:2421)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2717)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:910)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2129)
at android.app.Activity.onRestoreInstanceState(Activity.java:1047)
at android.app.Activity.performRestoreInstanceState(Activity.java:1002)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1174)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2619)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
不过,这些主题并没有为我的案件提供解决方案。
在将 2 个类从 Java 转换为 Kotlin 后,我的问题开始出现,这些类继承自 ViewGroup 和 View,并且仅在应用程序的混淆版本中。
我的 proguard 配置有一个规则:
-keepclassmembers class * implements android.os.Parcelable {
static ** CREATOR;
}
所以事实并非如此。这个问题很难被发现。
【问题讨论】:
标签: java android kotlin android-view parcelable