Home | History | Annotate | Download | only in android
      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.AccessedByNative <fields>;
      6 }
      7 -keepclasseswithmembers class org.chromium.** {
      8     @org.chromium.base.*Native* <methods>;
      9 }
     10 
     11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve
     12 # their methods
     13 -keep class org.chromium.** {
     14     native <methods>;
     15 }
     16 
     17 # Needed so that multiple optimization passes will detect annotations
     18 -keepattributes *Annotation*
     19 
     20 # Keep methods used by reflection and native code
     21 -keep class org.chromium.base.UsedBy*
     22 -keep @org.chromium.base.UsedBy* class *
     23 -keepclassmembers class * {
     24     @org.chromium.base.UsedBy* *;
     25 }
     26 
     27 # Suppress unnecessary warnings.
     28 -dontnote org.chromium.net.AndroidKeyStore
     29 # Objects of this type are passed around by native code, but the class
     30 # is never used directly by native code. Since the class is not loaded, it does
     31 # not need to be preserved as an entry point.
     32 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap
     33 
     34