2017-09-07 214 views
4

在我的項目中,我使用AutoValue作爲我的舊模型類。我開始使用Kotlin,我想用Data Classes代替AutoValue。我想要在我的數據層中禁用所有數據類別的混淆,但要保留包中其他類的混淆。Proguard - 不要混淆Kotlin數據類

有沒有辦法做到這一點?

我會希望有這樣的事情在我Proguard的文件:

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

回答

3

要解決這個問題,我感動的模型類模型包並增加了新ProGuard規則來進行包裝。

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

另一種解決方案是使用@Keep annotation從支持庫禁用模糊的類:

@Keep 
data class MyRequestBody(val value: String) 

使用@Keep可能會導致問題,因爲它很容易忘記將其添加爲新的類。

希望在將來會有一個ProGuard的規則的方式來禁用模糊在包中的所有數據,而不需要有一個子包爲模型類

+0

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