从Android包读取时出现BadParcelableException

时间:2017-05-22 16:36:50

标签: android

从包中读取String时,我收到BadParcelableException。这只发生在APK的发布版本上。

我在proguard-rules.pro上添加了这些规则,但仍然遇到同样的错误。

proguard-rules.pro

-keepnames class * implements android.os.Parcelable {
    public static final ** CREATOR;

}

错误的Stacktrace:

Process: com.sample.app, PID: 15083                                                       android.os.BadParcelableException: Parcelable protocol requires a Parcelable.Creator object called  CREATOR on class com.sample.checkout.j
                                                           at android.os.Parcel.readParcelableCreator(Parcel.java:2304)
                                                           at android.os.Parcel.readParcelable(Parcel.java:2245)
                                                           at android.os.Parcel.readValue(Parcel.java:2152)
                                                           at android.os.Parcel.readListInternal(Parcel.java:2526)
                                                           at android.os.Parcel.readArrayList(Parcel.java:1842)
                                                           at android.os.Parcel.readValue(Parcel.java:2173)
                                                           at android.os.Parcel.readArrayMapInternal(Parcel.java:2485)
                                                           at android.os.BaseBundle.unparcel(BaseBundle.java:221)
                                                           at android.os.BaseBundle.get(BaseBundle.java:280)
                                                           at com.sample.mp.checkout.SampleService.a(Unknown Source)
                                                           at com.sample.mp.checkout.t$1.handleMessage(Unknown Source)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:135)
                                                           at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                           at java.lang.reflect.Method.invoke(Method.java:372)
                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

有什么可能导致此错误的帮助?

1 个答案:

答案 0 :(得分:0)

通过将@SerializedName注释添加到对象变量中来解决。