Proguard - 不要混淆Kotlin数据类

问题描述:

在我的项目中,我使用AutoValue作为我的旧模型类。我开始使用Kotlin,我想用Data Classes代替AutoValue。我想要在我的数据层中禁用所有数据类别的混淆,但要保留包中其他类的混淆。Proguard - 不要混淆Kotlin数据类

有没有办法做到这一点?

我会希望有这样的事情在我Proguard的文件:

-keepclassmembers data class example.data_layer.** { *; } 

要解决这个问题,我感动的模型类模型包并增加了新ProGuard规则来进行包装。

-keep class com.company.myfeature.model.** { *; } 

另一种解决方案是使用@Keep annotation从支持库禁用模糊的类:

@Keep 
data class MyRequestBody(val value: String) 

使用@Keep可能会导致问题,因为它很容易忘记将其添加为新的类。

希望在将来会有一个ProGuard的规则的方式来禁用模糊在包中的所有数据,而不需要有一个子包为模型类

+0

我不想在所有'data class'es上模糊处理 –