blob: 65f43338bcd9135721a66ab4f0fdd2c0ccf13c76 [file] [log] [blame]
# 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.annotations.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
-keep class org.chromium.** {
native <methods>;
}
# Needed so that multiple optimization passes will detect annotations
-keepattributes *Annotation*
# Keep methods used by reflection and native code
-keep class org.chromium.base.UsedBy*
-keep @org.chromium.base.UsedBy* class *
-keepclassmembers class * {
@org.chromium.base.UsedBy* *;
}
# Suppress unnecessary warnings.
-dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver
-dontnote org.chromium.net.AndroidKeyStore
# Objects of this type are passed around by native code, but the class
# is never used directly by native code. Since the class is not loaded, it does
# not need to be preserved as an entry point.
-dontnote org.chromium.net.UrlRequest$ResponseHeadersMap