混淆时是否需要 'keep' Parcelable in proguard rules

Do I need to 'keep' Parcelable in proguard rules while obfuscating

我的项目几乎没有 类 扩展 Parcelable。 我需要在混淆时 'keep' 它们在混淆规则中吗?

parcelables 的一般做法是什么?

不,默认的 android 规则包括:

-keepclassmembers class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator CREATOR;
}

如果保留默认生成的 gradle 定义,将应用这些默认规则:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

如果您将 Kotlin @Parcelize 与混淆器一起使用,您可以将其添加到 proguard-rules.pro:

-keep @kotlinx.android.parcel.Parcelize public class *