| # Keep annotations used by chromium to keep members referenced by native code |
| -keep class org.chromium.base.*Native* |
| -keep class org.chromium.base.JNINamespace |
| -keepclasseswithmembers class org.chromium.** { |
| @org.chromium.base.AccessedByNative <fields>; |
| } |
| -keepclasseswithmembers class org.chromium.** { |
| @org.chromium.base.*Native* <methods>; |
| } |
| |
| # TODO(mef) remove unnecessary classes from base, so we don't have to preserve |
| # their methods |
| -keepclasseswithmembers class org.chromium.** { |
| native <methods>; |
| } |
| |
| -dontnote org.chromium.net.AndroidKeyStore |
| |
| # Needed so that multiple optimization passes will detect annotations |
| -keepattributes *Annotation* |
| |
| # Keep methods used by reflection and native code |
| -keep class org.chromium.net.UsedBy* |
| -keep @org.chromium.net.UsedBy* class * |
| -keepclassmembers class * { |
| @org.chromium.net.UsedBy* *; |
| } |