我正在开发一个作为java jar分发的库,我正在运行proguard,以便只暴露所需的接口.我有一个配置类,包含一堆成员变量和一些枚举定义.我的proguard脚本保留了成员变量,但枚举定义正在被混淆.我已经尝试了所有我能想到的强迫proguard保留这些内部定义和公共枚举,但我无法让它工作.
现在我正在使用:
-keep public class com.stuff.MyConfigObject {
public *;
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试:
-keep public enum com.stuff.MyConfigObject.MyEnum
Run Code Online (Sandbox Code Playgroud)
我得到一个模棱两可的错误:"注意:配置引用未知类'com.stuff.MyConfigObject.MyEnum'"
谢谢您的帮助!