Mar*_*lev 18 android proguard kotlin data-class
在我的项目中,我将AutoValue用于我的旧模型类.我开始使用Kotlin,我想使用数据类而不是AutoValue.我想为我的数据层中的所有数据类禁用模糊处理,但要对包中的其他类进行模糊处理.
有没有办法做到这一点?
我期望在我的Proguard文件中有这样的东西:
-keepclassmembers data class example.data_layer.** { *; }
Run Code Online (Sandbox Code Playgroud)
Mar*_*lev 35
为了解决这个问题,我将模型类移到了模型包中,并为包添加了新的ProGuard规则.
-keep class com.company.myfeature.model.** { *; }
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是使用支持库中的@Keep注释来禁用类的混淆:
@Keep
data class MyRequestBody(val value: String)
Run Code Online (Sandbox Code Playgroud)
使用@Keep可能会导致问题,因为很容易忘记为新类添加它.
希望将来有一种方法可以使用一条ProGuard规则来禁用包中所有Data类的模糊处理,而无需为模型类提供子包.
| 归档时间: |
|
| 查看次数: |
6846 次 |
| 最近记录: |