我尝试防止对包含属性的类进行模糊处理 任何成员的@ com.evernote.android.state.State
为此我添加到我的规则:
-keepclasseswithmembernames class * { @com.evernote.android.state.State *;}
它不起作用。类是混淆的
但是如果指定更具体的条件:
-keepclasseswithmembernames class * { @com.evernote.android.state.State <fields>;}
一切正常!
有人可以澄清为什么第一个变体不起作用?
Build-gradle版本是3.1.2
答案 0 :(得分:1)
仅当所有指定的成员都匹配时,规则-keepclasseswithmembernames
才会匹配。如果使用像*
这样的通配符,则必须注释所有字段和方法,但情况可能并非如此。
如果您只匹配字段,那么它将起作用。