2014-04-29 9 views
22

Bu benim sınıftır:Her bir alanı belirtmeden özel alanları tutmak için ProGuard anlatmak için nasıl

package com.tools.app.holiday; 

public class Holiday { 

    private String name; 

    private Calendar dateFrom = Calendar.getInstance(); 

    private Calendar dateTo = Calendar.getInstance(); 

    ... 

benim ProGuard kuralları dosyasında aşağıdaki koyarak bu özel alanları tutabilir:

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

Ama her alanı ayrı ayrı belirtmemeyi tercih ederim. Bunu nasıl yapabilirim?

P.S. Bunun çoğunu Proguard keep classmembers'dan çaldım çünkü bu soru sorduğum şeye yakındı.

cevap

38

ProGuard documenation numaralı telefona göre <fields> numaralı joker karakteriyle uyumludur.

-keepclassmembers class com.tools.app.holiday.Holiday { 
    private <fields>;  
} 

tüm sınıflara özel alanları korumak istiyorsanız

kullanın: Böylece gibi bir şey olmalı

-keepclassmembers class * { 
    private <fields>;  
} 
+0

Nasıl com.activeandroid.annotation.Column @ -keepclasseswithmembers sınıf * { 'hakkında; } ' –

İlgili konular