• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 RuntimeVisibleAnnotations,
8                RuntimeVisibleParameterAnnotations,
9                RuntimeVisibleTypeAnnotations,
10                AnnotationDefault
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
17-keep class com.android.virtualization.terminal.ConfigJson { <fields>; }
18-keep class com.android.virtualization.terminal.ConfigJson$* { <fields>; }
19
20# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
21# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
22# TODO(b/373579455): Evaluate if <init> needs to be kept.
23-keep class * extends com.google.gson.TypeAdapter {
24  void <init>();
25}
26# TODO(b/373579455): Evaluate if <init> needs to be kept.
27-keep class * implements com.google.gson.TypeAdapterFactory {
28  void <init>();
29}
30# TODO(b/373579455): Evaluate if <init> needs to be kept.
31-keep class * implements com.google.gson.JsonSerializer {
32  void <init>();
33}
34# TODO(b/373579455): Evaluate if <init> needs to be kept.
35-keep class * implements com.google.gson.JsonDeserializer {
36  void <init>();
37}
38
39# Prevent R8 from leaving Data object members always null
40-keepclassmembers,allowobfuscation class * {
41  @com.google.gson.annotations.SerializedName <fields>;
42}
43
44# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
45# TODO(b/373579455): Evaluate if <init> needs to be kept.
46-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken {
47  void <init>();
48}
49# TODO(b/373579455): Evaluate if <init> needs to be kept.
50-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken {
51  void <init>();
52}
53
54##---------------End: proguard configuration for Gson  ----------
55