Proguard Obfuscation Enum Issue

时间:2013-11-26 09:08:56

标签: android enums obfuscation proguard

我在Java包中使用了Enum类

public enum UIType {
    NATIVE,WEB;
}

我已应用以下proguard配置来保留此枚举类

-keepclassmembers enum  * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep public enum android.ui.UIType  {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

但是当我取消我的jar文件时,proguard保留了UIType枚举类但删除了NATIVE,WEB值。

在我混淆的jar中,我的Enum类看起来如下。

public enum UIType {

}

如上所示NATIVE,WEB值被proguard删除:(。由于找不到这些值,因此导致我的应用程序出现问题。

有人可以在这里指导我做错了吗。

由于

1 个答案:

答案 0 :(得分:8)

据我了解,您要求它保留方法 values() valueOf(),而不是值本身。

尝试

-keep public class com.ggg.xxx.Yyy { *; }