OLD | NEW |
1 # Keep line number information, useful for stack traces. | 1 # Keep line number information, useful for stack traces. |
2 -keepattributes SourceFile,LineNumberTable | 2 -keepattributes SourceFile,LineNumberTable |
3 | 3 |
4 # Keep all annotation related attributes that can affect runtime | 4 # Keep all annotation related attributes that can affect runtime |
5 -keepattributes RuntimeVisible*Annotations | 5 -keepattributes RuntimeVisible*Annotations |
6 -keepattributes AnnotationDefault | 6 -keepattributes AnnotationDefault |
7 | 7 |
8 # Keep the annotations, because if we don't, the ProGuard rules that use them | 8 # Keep the annotations, because if we don't, the ProGuard rules that use them |
9 # will not be respected. These classes then show up in our final dex, which we | 9 # will not be respected. These classes then show up in our final dex, which we |
10 # do not want - see crbug.com/628226. | 10 # do not want - see crbug.com/628226. |
(...skipping 20 matching lines...) Expand all Loading... |
31 @org.chromium.base.annotations.CalledByNativeUnchecked <methods>; | 31 @org.chromium.base.annotations.CalledByNativeUnchecked <methods>; |
32 } | 32 } |
33 -keepclasseswithmembers class * { | 33 -keepclasseswithmembers class * { |
34 @org.chromium.base.annotations.UsedByReflection <methods>; | 34 @org.chromium.base.annotations.UsedByReflection <methods>; |
35 } | 35 } |
36 -keepclasseswithmembers,includedescriptorclasses class * { | 36 -keepclasseswithmembers,includedescriptorclasses class * { |
37 native <methods>; | 37 native <methods>; |
38 } | 38 } |
39 | 39 |
40 # Keep all Parcelables as they might be marshalled outside Chrome. | 40 # Keep all Parcelables as they might be marshalled outside Chrome. |
| 41 -keepnames class * implements android.os.Parcelable |
| 42 |
41 -keepclassmembers class * implements android.os.Parcelable { | 43 -keepclassmembers class * implements android.os.Parcelable { |
42 public static *** CREATOR; | 44 public static *** CREATOR; |
43 } | 45 } |
44 | 46 |
45 # Remove methods annotated with this if their return value is unused | 47 # Remove methods annotated with this if their return value is unused |
46 -assumenosideeffects class ** { | 48 -assumenosideeffects class ** { |
47 @org.chromium.base.annotations.RemovableInRelease <methods>; | 49 @org.chromium.base.annotations.RemovableInRelease <methods>; |
48 } | 50 } |
49 | 51 |
50 # Keep all enum values and valueOf methods. See | 52 # Keep all enum values and valueOf methods. See |
51 # http://proguard.sourceforge.net/index.html#manual/examples.html | 53 # http://proguard.sourceforge.net/index.html#manual/examples.html |
52 # for the reason for this. Also, see http://crbug.com/248037. | 54 # for the reason for this. Also, see http://crbug.com/248037. |
53 -keepclassmembers enum * { | 55 -keepclassmembers enum * { |
54 public static **[] values(); | 56 public static **[] values(); |
55 } | 57 } |
56 | 58 |
OLD | NEW |