Proguard запутывает класс, несмотря на то, что -keepclasses с именами членов - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь предотвратить запутывание для классов, которые содержат атрибут @ com.evernote.android.state.State для любых членов

Для этого я добавляю к своему правилу:

-keepclasseswithmembernames class * { @com.evernote.android.state.State *;}

И это не работает.Классы запутаны

Но если указать более конкретное условие:

-keepclasseswithmembernames class * { @com.evernote.android.state.State <fields>;}

Это прекрасно работает!

Может кто-нибудь уточнить, почему первый вариант не работает?

Версия сборки-gradle - 3.1.2

1 Ответ

0 голосов
/ 05 июня 2018

Правило -keepclasseswithmembernames будет соответствовать, только если все указанные члены соответствуют.Если вы используете подстановочный знак, такой как *, тогда все поля и методы должны быть аннотированы, что, вероятно, не так.

Если вы сопоставляете только поля, это будет работать.

...