我的项目有几个扩展Parcelable的类。在混淆时,我需要在proguard规则中“保留”它们吗?
Parcelable的一般做法是什么?
我的项目有几个扩展Parcelable的类。在混淆时,我需要在proguard规则中“保留”它们吗?
Parcelable的一般做法是什么?
不,Android 的默认规则包括这个:
-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}
如果您保留默认生成的Gradle定义,则将应用这些默认规则:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
@Parcelize
并使用proguard,您可以将以下内容添加到proguard-rules.pro
中:-keep @kotlinx.android.parcel.Parcelize public class *
kotlinx.android.parcel.Parcelize
已被弃用,建议使用kotlinx.parcelize.Parcelize
。因此,可能需要更改为-keep @kotlinx.parcelize.Parcelize public class *
。 - Scott Cooper