OLD | NEW |
1 # Disable obfuscation for the following two packages. | 1 # Disable obfuscation for the following two packages. |
2 -keepnames,allowoptimization class com.google.android.apps.chrome.**,org.chromiu
m.** { | 2 -keepnames,allowoptimization class com.google.android.apps.chrome.**,org.chromiu
m.** { |
3 *; | 3 *; |
4 } | 4 } |
5 | 5 |
6 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) | 6 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) |
7 # This can be improved upon - see crbug.com/622023. | 7 # This can be improved upon - see crbug.com/622023. |
8 -keep public class com.google.android.apps.chrome** extends android.app.Fragment | 8 -keep public class com.google.android.apps.chrome** extends android.app.Fragment |
9 -keep public class org.chromium** extends android.app.Fragment | 9 -keep public class org.chromium** extends android.app.Fragment |
10 | 10 |
11 # TODO(aurimas): figure out why we need to keep these classes. | |
12 -keep class org.chromium.base.test.** { | |
13 *; | |
14 } | |
15 | |
16 # Keep protobuf code used via reflection | 11 # Keep protobuf code used via reflection |
17 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to | 12 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to |
18 # break. This exclusion costs almost 100k of dex size so consider replacing it | 13 # break. This exclusion costs almost 100k of dex size so consider replacing it |
19 # with a -dontnote after more testing. | 14 # with a -dontnote after more testing. |
20 -keep class com.google.protobuf.** { | 15 -keep class com.google.protobuf.** { |
21 *** newBuilder(); | 16 *** newBuilder(); |
22 *** parseFrom(java.io.InputStream); | 17 *** parseFrom(java.io.InputStream); |
23 } | 18 } |
24 | 19 |
25 # Keep the client interfaces for cacheinvalidation as they are used as | 20 # Keep the client interfaces for cacheinvalidation as they are used as |
(...skipping 21 matching lines...) Expand all Loading... |
47 # Don't warn about those in case this app is linking against an older | 42 # Don't warn about those in case this app is linking against an older |
48 # platform version. We know about them, and they are safe. | 43 # platform version. We know about them, and they are safe. |
49 -dontwarn android.support.** | 44 -dontwarn android.support.** |
50 | 45 |
51 # Proguard mistakenly optimizes away some null checks on final fields | 46 # Proguard mistakenly optimizes away some null checks on final fields |
52 # in the support library. | 47 # in the support library. |
53 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 | 48 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 |
54 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { | 49 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { |
55 !static final <fields>; | 50 !static final <fields>; |
56 } | 51 } |
57 | |
58 # Everything below this is kept because they are referenced by the test APK. | |
59 -keep class android.support.v7.mediarouter.R* { | |
60 *; | |
61 } | |
62 | |
63 -keep class android.support.v7.media.MediaRouteProvider** { | |
64 *; | |
65 } | |
66 | |
67 -keep class android.support.v4.app.FragmentManager** { | |
68 *; | |
69 } | |
70 | |
71 -keep class android.support.v4.app.DialogFragment** { | |
72 *; | |
73 } | |
74 | |
75 -keep class android.support.v7.app.NotificationCompat** { | |
76 *; | |
77 } | |
78 | |
79 -keep class android.support.v7.app.AlertDialog** { | |
80 *; | |
81 } | |
82 | |
83 -keep class com.google.android.gms.cast.CastMediaControlIntent* { | |
84 *; | |
85 } | |
86 | |
87 -keepnames class com.google.android.gms.gcm.** { | |
88 *; | |
89 } | |
90 | |
91 -keepclassmembers class com.google.android.gms.gcm.TaskParams { | |
92 public <init>(java.lang.String); | |
93 } | |
94 | |
95 -keepnames class jp.tomorrowkey.android.gifplayer.** { | |
96 public *; | |
97 } | |
98 | |
99 # Keeping @VisibleForTesting and its annotated classes + methods | |
100 -keep @interface org.chromium.base.VisibleForTesting | |
101 -keep @org.chromium.base.VisibleForTesting class ** | |
102 -keepclasseswithmembers class * { | |
103 @org.chromium.base.VisibleForTesting <methods>; | |
104 } | |
105 | |
106 # Used in tests. | |
107 -keep class android.support.v4.view.ViewCompat { | |
108 public static int getLayoutDirection(android.view.View); | |
109 } | |
110 | |
111 # flingViewport is used by Android WebView and a Chrome test. | |
112 -keepclassmembers class org.chromium.content.browser.ContentViewCore { | |
113 public void flingViewport(long, int, int); | |
114 } | |
115 | |
116 # Needed to compile ChromeTest.apk | |
117 -keep class android.support.customtabs.** { | |
118 *; | |
119 } | |
120 | |
121 # TODO(yfriedman): Remove when crbug.com/488192 is fixed. | |
122 -dontwarn org.apache.http.conn.scheme.LayeredSocketFactory | |
123 | |
124 # Needed to run ChromeTest.apk | |
125 -keepnames class com.google.android.gms.common.GoogleApiAvailability { | |
126 *; | |
127 } | |
128 | |
129 # Needed for chrome_sync_shell_test_apk. Note - these do no affect chrome_apk's | |
130 # size. | |
131 -keep class org.chromium.sync.protocol.* { *; } | |
132 | |
133 # These resources are referenced in tests, but not in the real application. | |
134 -keepclassmembers class org.chromium.chrome.R$id { | |
135 int webapp_splash_space; | |
136 int mr_chooser_list; | |
137 int find_toolbar; | |
138 } | |
OLD | NEW |