2013-11-26 119 views
5

我在我的Java包下Enum類Proguard的混淆枚舉問題

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); 
} 

但是,當我offuscate我的jar文件,proguard的保留UIType枚舉類,但刪除NATIVE,WEB值。

在我的混淆jar我Enum類看起來如下。

public enum UIType { 

} 

如上NATIVE看出,WEB值由proguard相關:(。這是在我的應用造成問題,因爲它沒有發現這些值刪除。

有人可以請指導我在這裏我在做什麼錯了。

感謝

回答

8

據我瞭解,你要求它保持方法值()的valueOf(),而不是值thems精靈。

嘗試

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

感謝工作! –