@Keep
注解虽然可用,但另一个选择是向属性添加@SerializedName
注解:
data class SomeDataClass(
@SerializedName("prop1") val PropertyOne: String,
@SerializedName("prop2") val PropertyTwo: Boolean
)
我不确定保留整个数据类是否好。但是如果必须要这么做,下面的proguard规则可以解决问题。 然而,这只是一种权宜之计。我建议您慎重考虑。
-keepclasseswithmembers class example.data_layer.** {
public ** component1();
<fields>;
}
我这里有一篇更详细的文章:如何让Proguard保留Kotlin数据类
@Keep
并且有嵌套的数据类,请不要忘记对每个数据类添加@Keep
注解。 - Esdras Lopez