OLD | NEW |
1 # Disable obfuscation for the following two packages. | |
2 -keepnames,allowoptimization class com.google.android.apps.chrome.**,org.chromiu
m.** { | |
3 *; | |
4 } | |
5 | |
6 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) | 1 # Fragments are loaded using reflection via Fragment.instantiate(Context,String) |
7 # This can be improved upon - see crbug.com/622023. | 2 # This can be improved upon - see crbug.com/622023. |
8 -keep public class com.google.android.apps.chrome** extends android.app.Fragment | 3 -keep public class com.google.android.apps.chrome** extends android.app.Fragment |
9 -keep public class org.chromium** extends android.app.Fragment | 4 -keep public class org.chromium** extends android.app.Fragment |
10 | 5 |
11 # Keep protobuf code used via reflection | 6 # Keep protobuf code used via reflection |
12 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to | 7 # TODO(tonyg): Removing these -keeps results in new notes, but nothing seems to |
13 # break. This exclusion costs almost 100k of dex size so consider replacing it | 8 # break. This exclusion costs almost 100k of dex size so consider replacing it |
14 # with a -dontnote after more testing. | 9 # with a -dontnote after more testing. |
15 -keep class com.google.protobuf.** { | 10 -keep class com.google.protobuf.** { |
16 *** newBuilder(); | 11 *** newBuilder(); |
17 *** parseFrom(java.io.InputStream); | 12 *** parseFrom(java.io.InputStream); |
18 } | 13 } |
19 | 14 |
20 # Keep the client interfaces for cacheinvalidation as they are used as | 15 # Keep the client interfaces for cacheinvalidation as they are used as |
21 # argument types for some of our code that we're keeping and proguard warns | 16 # argument types for some of our code that we're keeping and proguard warns |
22 # otherwise. | 17 # otherwise. |
23 -keep class com.google.ipc.invalidation.external.client.** { | 18 -keep class com.google.ipc.invalidation.external.client.** { |
24 *; | 19 *; |
25 } | 20 } |
26 | 21 |
| 22 # These classes aren't themselves referenced, but __ProcessService[0,1,2...] are |
| 23 # referenced, and we look up these services by appending a number onto the name |
| 24 # of the base class. Thus, we need to keep the base class name around so that |
| 25 # the child classes can be looked up. |
| 26 -keep class org.chromium.content.app.SandboxedProcessService |
| 27 -keep class org.chromium.content.app.PrivilegedProcessService |
| 28 |
27 # Keep all Parcelables as they might be marshalled outside Chrome. | 29 # Keep all Parcelables as they might be marshalled outside Chrome. |
28 -keepnames class * implements android.os.Parcelable { | 30 -keepnames class * implements android.os.Parcelable { |
29 public static final ** CREATOR; | 31 public static final ** CREATOR; |
30 } | 32 } |
31 | 33 |
32 # SearchView is used in website_preferences_menu.xml and is constructed by | 34 # SearchView is used in website_preferences_menu.xml and is constructed by |
33 # Android using reflection. | 35 # Android using reflection. |
34 -keep class android.support.v7.widget.SearchView { | 36 -keep class android.support.v7.widget.SearchView { |
35 public <init>(...); | 37 public <init>(...); |
36 } | 38 } |
37 | 39 |
38 # Google Play Services warnings are about its resources. | 40 # Google Play Services warnings are about its resources. |
39 -dontwarn com.google.android.gms.R** | 41 -dontwarn com.google.android.gms.R** |
40 | 42 |
41 # The support library contains references to newer platform versions. | 43 # The support library contains references to newer platform versions. |
42 # Don't warn about those in case this app is linking against an older | 44 # Don't warn about those in case this app is linking against an older |
43 # platform version. We know about them, and they are safe. | 45 # platform version. We know about them, and they are safe. |
44 -dontwarn android.support.** | 46 -dontwarn android.support.** |
45 | 47 |
46 # Proguard mistakenly optimizes away some null checks on final fields | 48 # Proguard mistakenly optimizes away some null checks on final fields |
47 # in the support library. | 49 # in the support library. |
48 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 | 50 # See https://sourceforge.net/p/proguard/bugs/531/#fdc9/41e2 |
49 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { | 51 -keepclassmembers,allowshrinking,allowobfuscation class android.support.v7.widge
t.AppCompatButton { |
50 !static final <fields>; | 52 !static final <fields>; |
51 } | 53 } |
OLD | NEW |