如何告诉ProGuard保留私有字段而不指定每个字段

这是我的class级:

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; } 

但我不想单独指定每个字段。 我怎样才能做到这一点?

PS我从Proguard那里偷走了大部分内容,因为这个问题接近于我所要求的问题。

  • 在使用Proguard混淆时,Gson EnumTypeAdapter中的AssertionError
  • Proguard.cfg丢失
  • 无法从Android Studio生成签名APK“执行失败的任务”:packageRelease'“
  • Proguard不再适用于Retrofit
  • Android ant build:proguard在类ViewConfigurationCompatFroyo中找不到引用的方法
  • Android:在proguard中重复类错误
  • Androidunit testing启用了proguard
  • 如何在Eclipse中debuggingProguard混淆apk文件
  • 根据ProGuard文档 ,通配符匹配任何字段。 因此它应该是这样的:

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

    如果要保留所有类中的私有字段,请使用:

     -keepclassmembers class * { private ; }