| 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 | |
| 24 -keepattributes *Annotation* | |
| 25 | |
| 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. | 4 # Suppress unnecessary warnings. |
| 34 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver | 5 -dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver |
| 35 -dontnote org.chromium.net.AndroidKeyStore | 6 -dontnote org.chromium.net.AndroidKeyStore |
| 36 # Needs 'void setTextAppearance(int)' (API level 23). | 7 # Needs 'void setTextAppearance(int)' (API level 23). |
| 37 -dontwarn org.chromium.base.ApiCompatibilityUtils | 8 -dontwarn org.chromium.base.ApiCompatibilityUtils |
| 38 # Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23). | 9 # Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23). |
| 39 -dontwarn org.chromium.base.WindowCallbackWrapper | 10 -dontwarn org.chromium.base.WindowCallbackWrapper |
| 40 # Generated for chrome apk and not included into cronet. | 11 # Generated for chrome apk and not included into cronet. |
| 41 -dontwarn org.chromium.base.library_loader.NativeLibraries | 12 -dontwarn org.chromium.base.library_loader.NativeLibraries |
| 42 # Generated for chrome apk and not included into cronet. | 13 # Generated for chrome apk and not included into cronet. |
| 43 -dontwarn org.chromium.base.multidex.ChromiumMultiDexInstaller | 14 -dontwarn org.chromium.base.multidex.ChromiumMultiDexInstaller |
| 44 # Objects of this type are passed around by native code, but the class | 15 # 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 | 16 # 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. | 17 # not need to be preserved as an entry point. |
| 47 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap | 18 -dontnote org.chromium.net.UrlRequest$ResponseHeadersMap |
| 48 # https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/
proguard-android.txt#54 | 19 # https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/
proguard-android.txt#54 |
| 49 -dontwarn android.support.** | 20 -dontwarn android.support.** |
| 50 | 21 |
| OLD | NEW |