当我从调试运行我的项目时,一切正常。但是,当我使用从 Android Studio(使用混淆器)生成的签名 apk 运行它时,在使用 getParcelable 时出现以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{mypackage.android/mypackage.mobile.android.activities.searchActivity}: android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called CREATOR on class mypackage.android.a.d.a
为什么这个异常只发生在我签名的 apk 上?在我的混淆器配置文件中,我必须使用 dontwarn android.support.v4.**
来避免混淆器错误。那是回来咬我吗?
最佳答案
您需要保护 CREATOR
字段免受 proguard 的混淆
将此行添加到您的混淆器配置中:
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
关于Android BadParcelableException(Parcelable 协议(protocol)需要一个名为 CREATOR 的 Parcelable.Creator 对象)只有签名的 apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274974/