OLD | NEW |
---|---|
1 # Keep annotations used by chromium to keep members referenced by native code | |
2 -keep class org.chromium.base.annotations.*Native* | |
3 -keep class org.chromium.base.annotations.JNINamespace | |
4 -keepclasseswithmembers class org.chromium.** { | |
5 @org.chromium.base.annotations.AccessedByNative <fields>; | |
6 } | |
7 -keepclasseswithmembers class org.chromium.** { | |
8 @org.chromium.base.annotations.*Native* <methods>; | |
9 } | |
10 | |
11 # TODO(mef) remove unnecessary classes from base, so we don't have to preserve | |
12 # their methods | |
13 -keepclasseswithmembers class org.chromium.** { | |
14 native <methods>; | |
15 } | |
16 | |
17 # TODO(xunjieli): Find an alternative to explictly preserving public classes. | |
18 -keep public class org.chromium.net.* | |
19 | |
20 -keep class org.chromium.net.impl.CronetUrlRequest$HeadersList | 1 -keep class org.chromium.net.impl.CronetUrlRequest$HeadersList |
21 -keep class org.chromium.net.impl.ChromiumUrlRequest$ResponseHeadersMap | 2 -keep class org.chromium.net.impl.ChromiumUrlRequest$ResponseHeadersMap |
22 | 3 |
23 # Needed so that multiple optimization passes will detect annotations | 4 # Needed so that multiple optimization passes will detect annotations |
24 -keepattributes *Annotation* | 5 -keepattributes *Annotation* |
smaier
2016/08/11 16:08:29
I'd wager you'll be able to remove this line. base
xunjieli
2016/08/11 21:05:53
Done. Thanks for pointing that out and explaining
| |
25 | 6 |
26 # Keep methods used by reflection | |
27 -keep class org.chromium.base.annotations.UsedByReflection | |
28 -keep @org.chromium.base.annotations.UsedByReflection class * | |
29 -keepclassmembers class * { | |
30 @org.chromium.base.annotations.UsedByReflection *; | |
31 } | |
32 | |
33 # Suppress unnecessary warnings. | 7 # Suppress unnecessary warnings. |
34 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver | 8 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver |
35 -dontnote org.chromium.net.AndroidKeyStore | 9 -dontnote org.chromium.net.AndroidKeyStore |
36 # Needs 'void setTextAppearance(int)' (API level 23). | 10 # Needs 'void setTextAppearance(int)' (API level 23). |
37 -dontwarn org.chromium.base.ApiCompatibilityUtils | 11 -dontwarn org.chromium.base.ApiCompatibilityUtils |
38 # Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23). | 12 # Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23). |
39 -dontwarn org.chromium.base.WindowCallbackWrapper | 13 -dontwarn org.chromium.base.WindowCallbackWrapper |
40 # Generated for chrome apk and not included into cronet. | 14 # Generated for chrome apk and not included into cronet. |
41 -dontwarn org.chromium.base.library_loader.NativeLibraries | 15 -dontwarn org.chromium.base.library_loader.NativeLibraries |
42 # Generated for chrome apk and not included into cronet. | 16 # Generated for chrome apk and not included into cronet. |
43 -dontwarn org.chromium.base.multidex.ChromiumMultiDexInstaller | 17 -dontwarn org.chromium.base.multidex.ChromiumMultiDexInstaller |
44 # Objects of this type are passed around by native code, but the class | 18 # Objects of this type are passed around by native code, but the class |
45 # is never used directly by native code. Since the class is not loaded, it does | 19 # is never used directly by native code. Since the class is not loaded, it does |
46 # not need to be preserved as an entry point. | 20 # not need to be preserved as an entry point. |
47 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap | 21 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap |
48 # https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/ proguard-android.txt#54 | 22 # https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/ proguard-android.txt#54 |
49 -dontwarn android.support.** | 23 -dontwarn android.support.** |
50 | 24 |
OLD | NEW |