Jeongik Cha | 4d8477e | 2024-10-30 13:27:51 +0900 | [diff] [blame] | 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 |
Christoffer Adamsen | efcac11 | 2025-01-17 04:42:46 -0800 | [diff] [blame] | 7 | -keepattributes RuntimeVisibleAnnotations, |
| 8 | RuntimeVisibleParameterAnnotations, |
| 9 | RuntimeVisibleTypeAnnotations, |
| 10 | AnnotationDefault |
Jeongik Cha | 4d8477e | 2024-10-30 13:27:51 +0900 | [diff] [blame] | 11 | |
| 12 | # Gson specific classes |
| 13 | -dontwarn sun.misc.** |
| 14 | #-keep class com.google.gson.stream.** { *; } |
| 15 | |
| 16 | # Application classes that will be serialized/deserialized over Gson |
Seungjae Yoo | 675f133 | 2024-11-20 19:29:05 +0900 | [diff] [blame] | 17 | -keep class com.android.virtualization.terminal.ConfigJson { <fields>; } |
| 18 | -keep class com.android.virtualization.terminal.ConfigJson$* { <fields>; } |
Jeongik Cha | 4d8477e | 2024-10-30 13:27:51 +0900 | [diff] [blame] | 19 | |
| 20 | # Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory, |
| 21 | # JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter) |
| 22 | -keep class * extends com.google.gson.TypeAdapter |
| 23 | -keep class * implements com.google.gson.TypeAdapterFactory |
| 24 | -keep class * implements com.google.gson.JsonSerializer |
| 25 | -keep class * implements com.google.gson.JsonDeserializer |
| 26 | |
| 27 | # Prevent R8 from leaving Data object members always null |
| 28 | -keepclassmembers,allowobfuscation class * { |
| 29 | @com.google.gson.annotations.SerializedName <fields>; |
Jeongik Cha | 4a8ee3a | 2024-09-20 18:06:29 +0900 | [diff] [blame] | 30 | } |
Jeongik Cha | 4d8477e | 2024-10-30 13:27:51 +0900 | [diff] [blame] | 31 | |
| 32 | # Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher. |
| 33 | -keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken |
| 34 | -keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken |
| 35 | |
Jiyong Park | 6a2a4dc | 2024-11-05 07:33:00 +0900 | [diff] [blame] | 36 | ##---------------End: proguard configuration for Gson ---------- |