Open ouyangzn opened 7 years ago
This rule seems to be unnecessary and wrong.
If I understand ProGuard docs correctly this rule means "Keep names of all classes that were not removed AND ALSO keep names of members that are annotated with @State
.
I removed this rule, so now I have:
-dontwarn icepick.**
-keep class icepick.** { *; }
-keep class **$$Icepick { *; }
-keepclasseswithmembernames class * {
@icepick.* <fields>;
}
State restoration works, this seems to be the right set of rules. Unobvious thing here is that rule
-keepclasseswithmembernames class * {
@icepick.* <fields>;
}
Won't work without -keep class icepick.** { *; }
because @icepick.*
annotations are removed.
I spent a few hours today investigating this issue before I found this topic. So I created a pull request to remove the line from README and avoid the pain to others.
Hi guys, there is a problem, if i add this line, all class name will not be obfuscated, it seems not so well. How can i resolve it?