2011-12-07 15 views
8

Jak mogę powiedzieć proguard, aby zachować moje klasy?Proguard zachować klasy class

muszę je dla kompatybilności JSON ...

To moja klasa:

package com.tools.app.holiday; 

public class Holiday { 

    private String name; 

    private Calendar dateFrom = Calendar.getInstance(); 

    private Calendar dateTo = Calendar.getInstance(); 

    ... 

ja już próbowałem, ale to nie robi praca ...

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

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

ja również wdrażane możliwe do wykonania i wykonane:

-keepclassmembers class * implements java.io.Serializable { 

Ale to wszystko nie zachowuje moich nazwisk członków. Proguard zawsze zmienia ist do a, b, c :-( Co mi brakuje

Odpowiedz

13

Wszystkie nazwy klasy musi być w pełni kwalifikowana:

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

Domyślnie ProGuard nawet wypisuje wiadomości jeśli zapomnę

+1

Czy należy wyraźnie określić każde pole? Patrz http://stackoverflow.com/questions/23365021/how-to-tell-proguard-to-keep-private-fields-without-specifying-each-field – cja

Powiązane problemy