Подтвердить что ты не робот

Как сообщить ProGuard о сохранении личных полей без указания каждого поля

Это мой класс:

package com.tools.app.holiday;

public class Holiday {  

    private String name;

    private Calendar dateFrom = Calendar.getInstance();

    private Calendar dateTo = Calendar.getInstance();

    ...

Я могу сохранить эти частные поля, поместив в файл правил ProGuard следующее:

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

Но я бы предпочел не указывать каждое поле отдельно. Как я могу это сделать?

P.S. Я украл большую часть этого из Proguard keep classmembers, потому что этот вопрос был близок к тому, что я прошу.

4b9b3361

Ответ 1

В соответствии с Proguard documenation подстановочный знак <fields> соответствует любому полю. Таким образом, это должно быть примерно так:

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

Если вы хотите сохранить частные поля во всех классах, используйте:

-keepclassmembers class * {
    private <fields>;    
}