Ich versuche, ein Plugin meines Servers mit ProGuard zu verschleiern, aber ich kann eine Enum-Klasse nicht verschleiern. Sie verlieren ständig Informationen.ProGuard mit Maven Fehler auf enum Klasse
Die Enum-Klasse ist dies:
public enum PasswordType
{
XAUTH(xAuth.class);
Class<?> classe;
private PasswordType(Class<?> authClass)
{
this.classe = authClass;
}
public PasswordMethod getInstance()
{
try
{
return (PasswordMethod) this.classe.newInstance();
} catch (InstantiationException | IllegalAccessException e)
{
e.printStackTrace();
}
return null;
}
}
Und meine Config ist dies:
<options>
<option>-keep class com.ehaqui.ehlogin.EhLoginPlugin</option>
<option>-dontshrink</option>
<option>-dontoptimize</option>
<option>-dontusemixedcaseclassnames</option>
<option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod,EventHandler,Override</option>
</options>
Aber wenn ich das Projekt erstellen, die ENUM-Wert XAUTH (xAuth.class) verschwindet und Das Plugin wird nicht korrekt ausgeführt.
Shows: java.lang.IllegalArgumentException: com.ehaqui.ehlogin.e.b ist kein Aufzählungstyp
Wie kann ich dieses Problem beheben?
Es sieht aus wie ein Duplikat http://stackoverflow.com/questions/6285623/proguard-wont-keep-a-class-members-enums – Linuslabo