OLD | NEW |
1 # Keep annotations used by chromium to keep members referenced by native code | 1 # Keep annotations used by chromium to keep members referenced by native code |
2 -keep class org.chromium.base.*Native* | 2 -keep class org.chromium.base.*Native* |
3 -keep class org.chromium.base.JNINamespace | 3 -keep class org.chromium.base.JNINamespace |
4 -keepclasseswithmembers class org.chromium.** { | 4 -keepclasseswithmembers class org.chromium.** { |
5 @org.chromium.base.AccessedByNative <fields>; | 5 @org.chromium.base.AccessedByNative <fields>; |
6 } | 6 } |
7 -keepclasseswithmembers class org.chromium.** { | 7 -keepclasseswithmembers class org.chromium.** { |
8 @org.chromium.base.*Native* <methods>; | 8 @org.chromium.base.*Native* <methods>; |
9 } | 9 } |
10 | 10 |
11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve | 11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve |
12 # their methods | 12 # their methods |
13 -keepclasseswithmembers class org.chromium.** { | 13 -keep class org.chromium.** { |
14 native <methods>; | 14 native <methods>; |
15 } | 15 } |
16 | 16 |
17 -dontnote org.chromium.net.AndroidKeyStore | |
18 | |
19 # Needed so that multiple optimization passes will detect annotations | 17 # Needed so that multiple optimization passes will detect annotations |
20 -keepattributes *Annotation* | 18 -keepattributes *Annotation* |
21 | 19 |
22 # Keep methods used by reflection and native code | 20 # Keep methods used by reflection and native code |
23 -keep class org.chromium.net.UsedBy* | 21 -keep class org.chromium.net.UsedBy* |
24 -keep @org.chromium.net.UsedBy* class * | 22 -keep @org.chromium.net.UsedBy* class * |
25 -keepclassmembers class * { | 23 -keepclassmembers class * { |
26 @org.chromium.net.UsedBy* *; | 24 @org.chromium.net.UsedBy* *; |
27 } | 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 |
OLD | NEW |