Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ProGuard如何保持类实现子句(类签名)_Android_Proguard_Parcelable - Fatal编程技术网

Android ProGuard如何保持类实现子句(类签名)

Android ProGuard如何保持类实现子句(类签名),android,proguard,parcelable,Android,Proguard,Parcelable,我有一个实现Android的类Parcelable,它有一个名为CREATOR的字段,该字段实现了Parcelable.CREATOR。我可以通过以下配置让ProGuard保留CREATOR字段: -keepclassmembers class * implements android.os.Parcelable { static ** CREATOR; } -keepclassmembers class * implements android.os.Parcelable {

我有一个实现Android的类
Parcelable
,它有一个名为
CREATOR
的字段,该字段实现了
Parcelable.CREATOR
。我可以通过以下配置让ProGuard保留
CREATOR
字段:

-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}
-keepclassmembers class * implements android.os.Parcelable {
    static ** CREATOR;
}
但是我不知道如何让ProGuard保留
CREATOR
匿名类签名,因此,
CREATOR
匿名实现的模糊类如下所示:

final class i extends Object
我们可以看到它丢失了
implements Parcelable.Creator
签名,因此当我启动我的应用程序时,它崩溃了,出现以下异常:

java.lang.ClassCastException: com.github.piasy.model.b.b.i cannot be 
cast to android.os.Parcelable$Creator
我知道我可以让ProGuard保留所有的内部类(这样
Parcelable.Creator
实现就不会被混淆),但我想知道我是否可以保留类签名(
implements Parcelable.Creator
part)

我尝试了
-keepattributes Signature
,但不起作用。

谢谢,这个问题半年后就解决了

事实证明,在更新我的Android构建工具后,这个问题消失了,不需要进行以下配置: