Proguard 不会保留类成员的枚举
我正在研究一个作为java jar分发的库,并且我正在以这样的方式运行proguard,以便仅公开所需的接口。我有一个配置类,其中包含一堆成员变量和一些枚举定义。我的 proguard 脚本可以很好地保留成员变量,但是,枚举定义被混淆了。我已经尝试了我能想到的一切来迫使proguard保留这些内部定义的公共枚举,但我无法让它发挥作用。
现在我正在使用:
-keep public class com.stuff.MyConfigObject {
public *;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
如果我尝试:
-keep public enum com.stuff.MyConfigObject.MyEnum
我得到一个模棱两可的错误:“注意:配置引用了未知类'com.stuff.MyConfigObject.MyEnum'”
感谢您的帮助!