1
+ ##---------------Begin: proguard configuration for Gson ----------
2
+ # Gson uses generic type information stored in a class file when working with fields. Proguard
3
+ # removes such information by default, so configure it to keep all of it.
4
+ -keepattributes Signature
5
+
6
+ # For using GSON @Expose annotation
7
+ -keepattributes *Annotation*
8
+
9
+ # Gson specific classes
10
+ -dontwarn sun.misc.**
11
+ #-keep class com.google.gson.stream.** { *; }
12
+
13
+ # Application classes that will be serialized/deserialized over Gson
14
+ -keep class com.google.gson.examples.android.model.** { <fields>; }
15
+
16
+ # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
17
+ # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
18
+ -keep class * extends com.google.gson.TypeAdapter
19
+ -keep class * implements com.google.gson.TypeAdapterFactory
20
+ -keep class * implements com.google.gson.JsonSerializer
21
+ -keep class * implements com.google.gson.JsonDeserializer
22
+
23
+ # Prevent R8 from leaving Data object members always null
24
+ -keepclassmembers,allowobfuscation class * {
25
+ @com.google.gson.annotations.SerializedName <fields>;
26
+ }
27
+
28
+ # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
29
+ -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
30
+ -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
31
+
32
+ ##---------------End: proguard configuration for Gson ----------
0 commit comments