|
1 | | --verbose |
2 | | - |
3 | | -# Keep annotations with RUNTIME retention and their defaults. |
4 | | --keepattributes RuntimeVisible*Annotations, AnnotationDefault |
5 | | - |
6 | | -# For crash reporting |
7 | | --keepattributes LineNumberTable, SourceFile |
8 | | - |
9 | | -# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native |
10 | | --keepclasseswithmembernames class * { |
11 | | - native <methods>; |
12 | | -} |
13 | | - |
14 | | -# Enum.valueOf(Class, String) and others invoke this method reflectively. |
15 | | --keepclassmembers,allowoptimization enum * { |
16 | | - public static **[] values(); |
17 | | -} |
18 | | - |
19 | | -# Parcelable CREATOR fields are looked up reflectively when de-parceling. |
20 | | --keepclasseswithmembers class * implements android.os.Parcelable { |
21 | | - public static final android.os.Parcelable$Creator CREATOR; |
22 | | -} |
23 | | - |
24 | | -# Keep `Companion` object fields of serializable classes. |
25 | | -# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects. |
26 | | --if @kotlinx.serialization.Serializable class ** |
27 | | --keepclassmembers class <1> { |
28 | | - static <1>$Companion Companion; |
29 | | -} |
30 | | - |
31 | | -# Keep `serializer()` on companion objects (both default and named) of serializable classes. |
32 | | --if @kotlinx.serialization.Serializable class ** { |
33 | | - static **$* *; |
34 | | -} |
35 | | --keepclassmembers class <2>$<3> { |
36 | | - kotlinx.serialization.KSerializer serializer(...); |
37 | | -} |
38 | | - |
39 | | -# Keep `INSTANCE.serializer()` of serializable objects. |
40 | | --if @kotlinx.serialization.Serializable class ** { |
41 | | - public static ** INSTANCE; |
42 | | -} |
43 | | --keepclassmembers class <1> { |
44 | | - public static <1> INSTANCE; |
45 | | - kotlinx.serialization.KSerializer serializer(...); |
46 | | -} |
47 | | - |
48 | 1 | # Remove Compose tracing strings |
49 | 2 | -assumenosideeffects public class androidx.compose.runtime.ComposerKt { |
50 | 3 | boolean isTraceInProgress(); |
|
0 commit comments