Как сообщить 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, потому что этот вопрос был близок к тому, что я прошу.
Ответы
Ответ 1
В соответствии с Proguard documenation подстановочный знак <fields>
соответствует любому полю. Таким образом, это должно быть примерно так:
-keepclassmembers class com.tools.app.holiday.Holiday {
private <fields>;
}
Если вы хотите сохранить частные поля во всех классах, используйте:
-keepclassmembers class * {
private <fields>;
}