これは私のクラスです:
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;
}
ただし、各フィールドを個別に指定する必要はありません。これどうやってするの?
追伸私はこれのほとんどを Proguard keep classmembers から盗みました。なぜならその質問は私が求めているものに近いからです。
ProGuard documenation によると、ワイルドカード<fields>
は任意のフィールドに一致します。したがって、次のようになります。
-keepclassmembers class com.tools.app.holiday.Holiday {
private <fields>;
}
すべてのクラスでプライベートフィールドを保持する場合は、次のようにします。
-keepclassmembers class * {
private <fields>;
}