私は、Parcelable
を実装するクラスを持っていて、Parcelable.Creator
を実装するCREATOR
というフィールドを持っています。私は、ProGuardのは、以下の設定によってCREATOR
フィールドを維持させることができます:ProGuardはどのようにクラスの実装句(クラス署名)を保持できるのですか
-keepclassmembers class * implements android.os.Parcelable {
static ** CREATOR;
}
しかし、私はそのことを、CREATOR
匿名の実装の難読化されたクラスがどのように見えるので、ProGuardのは、CREATOR
匿名クラスの署名を保つようにする方法がわかりません以下:
final class i extends Object
我々はそれがimplements Parcelable.Creator
署名をlostsていることがわかりますので、私は私のアプリを起動したとき、それは以下の例外を除いて墜落:
java.lang.ClassCastException: com.github.piasy.model.b.b.i cannot be
cast to android.os.Parcelable$Creator
ProGuardにすべての内部クラスを保持させることができることを知っています(Parcelable.Creator
の実装では難読化されません)が、私はクラス署名(implements Parcelable.Creator
部分)を保持できますか?
私は-keepattributes Signature
を試しましたが、動作しません。