2011-12-07 9 views
8

Come posso dire a proguard di mantenere i miei membri di classe?Proguard mantiene i membri della classe

ho bisogno di loro per la compatibilità JSON ...

Questa è la mia classe:

package com.tools.app.holiday; 

public class Holiday { 

    private String name; 

    private Calendar dateFrom = Calendar.getInstance(); 

    private Calendar dateTo = Calendar.getInstance(); 

    ... 

Ho già provato, ma non lavorare ...

-keepclassmembers class com.tools.app.holiday.Holiday 

-keepclassmembers class com.tools.app.holiday.Holiday *{ 
    private String name;  
    private Calendar dateFrom; 
    private Calendar dateTo; 
} 

ho anche implementato serializzabile e fatto:

-keepclassmembers class * implements java.io.Serializable { 

Ma tutto ciò non mantiene i nomi dei miei membri. Proguard cambia sempre ist ad a, b, c :-( Che cosa mi manca

risposta

13

Tutti i nomi di classe deve essere completo:?

-keepclassmembers class com.tools.app.holiday.Holiday { 
    private java.lang.String name;  
    private java.util.Calendar dateFrom; 
    private java.util.Calendar dateTo; 
} 

Per impostazione predefinita, ProGuard stampa anche i messaggi se si dimentica questo

+1

È necessario specificare ciascun campo in modo esplicito? Vedere http://stackoverflow.com/questions/23365021/how-to-tell-proguard-to-keep-private-fields-without-specifying-each-field – cja

Problemi correlati