【发布时间】:2026-02-15 03:55:01
【问题描述】:
我想排除这个类被 ProGuard 混淆
- com.example.myapp.ThisParticularClass.java
我该怎么做?
我查看了其他答案,但它们是关于包、类成员或使用 gson 注释的
PS:如果ThisParticularClass 从另一个类扩展,我是否也应该让父类不被混淆?
【问题讨论】:
我想排除这个类被 ProGuard 混淆
- com.example.myapp.ThisParticularClass.java
我该怎么做?
我查看了其他答案,但它们是关于包、类成员或使用 gson 注释的
PS:如果ThisParticularClass 从另一个类扩展,我是否也应该让父类不被混淆?
【问题讨论】:
使用这样的语句:
-keep class com.example.myapp.ThisParticularClass
或:
-keep public class * extends com.example.myapp.ThisParticularClass
【讨论】:
keepclassmembers 吗?那是做什么用的?我还应该保护父类吗?
proguard 可能会做什么。例如,它可能会用随机值替换您的 String 常量。 keepclassmembers 可以防止这种情况。 -keepattributes 也很有用,当您按名称使用反射和访问方法时。每个案例都应单独处理和测试。 Here 是属性的文档。至于父类:我会保护它,但如果你真的需要它,没有什么可以阻止你自己检查它。