【发布时间】:2016-04-21 03:33:59
【问题描述】:
嗨,我正在尝试在我的 Libgdx 项目中使用 Proguard,但是当我使用 -keepclassmembers 时,我不明白类成员是什么意思,因为我也有 -keep,用于保持课程。我不知道这是一个java主题还是proguard。感谢和抱歉我的英语不好。
【问题讨论】:
标签: java android libgdx annotations proguard
嗨,我正在尝试在我的 Libgdx 项目中使用 Proguard,但是当我使用 -keepclassmembers 时,我不明白类成员是什么意思,因为我也有 -keep,用于保持课程。我不知道这是一个java主题还是proguard。感谢和抱歉我的英语不好。
【问题讨论】:
标签: java android libgdx annotations proguard
类成员是类字段和方法。
-keep public class * extends BaseClass
将使扩展 BaseClass 的类和类成员不被删除或重命名。
-keepclassmembers public class * extends BaseClass
将仅保留扩展 BaseClass 的类的类成员,以免被删除或重命名。
【讨论】:
-keepclassmembers [,modifier,...] class_specification 指定要保留的类成员,如果它们的类也被保留的话。例如,您可能希望保留实现 Serializable 接口的类的所有序列化字段和方法。
这意味着您不希望在这些类中进行优化(请记住,当将 proguard 设置为 minimizeEnabled 为 true 时,将不会编译所有未使用的方法、类和变量)并且使用此标记,它们都将被保留。
参考: http://proguard.sourceforge.net/manual/usage.html#keepclassmembers
【讨论】: