【发布时间】:2017-04-30 23:32:06
【问题描述】:
如果字段名称以某个字符串开头,我想保持某些类字段不受 ProGuard 影响。目前我只是设置要保留的所有字段,但想改进它以保留 all 公共和受保护的字段,并且只保留以该字符串开头的私有字段。
这是我 pom.xml 中的当前配置:
<option>-keepclassmembers class com.my.package.** { <fields>; }</option>
我尝试了以下和类似的变体:
<option>-keepclassmembers class com.my.package.** { public *; protected *; private string***; }</option>
但是 ProGuard 会抛出一个错误(当我只使用“private *;”时工作正常):
[proguard] Error: Expecting class member name before ';' in argument number 39
我猜我要么错误地使用了通配符,要么无法做到这一点?我已经通过 Google 检查了 ProGuard 站点的用法/示例部分和其他示例,我发现通常可能需要该字段的完整定义(private final String stringVariable),但我不是100% 确定。
【问题讨论】: