Proguard – 不要混淆Kotlin数据类
在我的项目中,我使用AutoValue来处理旧的模型类。 我开始使用Kotlin,我想使用数据类而不是AutoValue。 我想在我的数据层中禁用所有Data类的模糊处理,但要保留包中的其他类的模糊处理。
有没有办法做到这一点?
我希望在我的Proguard文件中有这样的东西:
-keepclassmembers data class example.data_layer.** { *; }
为了解决这个问题,我将模型类移动到了模型包中,并为包添加了新的ProGuard规则。
-keep class com.company.myfeature.model.** { *; }
另一种解决方案是使用支持库中的@Keep注释来禁用类的混淆:
@Keep data class MyRequestBody(val value: String)
使用@Keep可能会导致问题,因为很容易忘记将它添加到新类中。
希望将来有一种方法可以使用一个ProGuard规则禁用所有包中的Data类的模糊处理,而不需要为模型类提供一个子包。