2016-04-15 10 views
-1

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?

+0

Es sieht aus wie ein Duplikat http://stackoverflow.com/questions/6285623/proguard-wont-keep-a-class-members-enums – Linuslabo

Antwort

0

Ich glaube, ich

gefunden
-keep class com.ehaqui.ehlogin.security.PasswordType {*;}