1 # Keep annotations used by chromium to keep members referenced by native code
2 -keep class org.chromium.base.*Native*
3 -keep class org.chromium.base.JNINamespace
4 -keepclasseswithmembers class org.chromium.** {
5 @org.chromium.base.annotations.AccessedByNative <fields>;
7 -keepclasseswithmembers class org.chromium.** {
8 @org.chromium.base.*Native* <methods>;
11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve
13 -keep class org.chromium.** {
17 # Needed so that multiple optimization passes will detect annotations
18 -keepattributes *Annotation*
20 # Keep methods used by reflection
21 -keep class org.chromium.base.annotations.UsedByReflection
22 -keep @org.chromium.base.annotations.UsedByReflection class *
23 -keepclassmembers class * {
24 @org.chromium.base.annotations.UsedByReflection *;
27 # Suppress unnecessary warnings.
28 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver
29 -dontnote org.chromium.net.AndroidKeyStore
30 # Objects of this type are passed around by native code, but the class
31 # is never used directly by native code. Since the class is not loaded, it does
32 # not need to be preserved as an entry point.
33 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap