从此获得:
如何告诉ProGuard保留私有字段而不指定每个字段
根据ProGuard文档,通配符匹配任何字段。
最重要的是,您可以使用取反符(!)。(http://proguard.sourceforge.net/#manual/usage.html)
属性名称可以包含?,和*通配符,并且可以在其前面加上!!否定者。
我在该领域的经验不是很丰富,所以这只是一个猜测,但是更容易在新注释中撰写。像这样的事情应该做的工作(未测试):
-keepclassmembers class * { //should find all classes !private <fields>; <methods>; <init>; //and keep every field, method, constructor apart from private fields}也许您可以像这样使用,但不确定首先如何使用否定器:
-keepclassmembers class * { //should find all classes !private <fields>; *; //should exclude everything except private fields, which should be obfuscated.}


