Google Gson保留通用签名

d4so4syb  于 2023-05-17  发布在  Go
关注(0)|答案(1)|浏览(236)

Firebase Crashlytics中的崩溃将显示一条如何解决问题的注解:

  • 致命异常:java.lang.IllegalStateException:必须使用类型参数创建TypeToken:new TypeToken<...>(){};当使用代码收缩器(ProGuard,R8,...)时,请确保保留通用签名。*

尖括号之间的泛型类<...>名为ApiResponse。我用jsonschema 2 pojo创建了它。

ymzxtsji

ymzxtsji1#

需要排除Gson上的序列化/反序列化类。对于包含类的包,如下所示

# Application classes that will be serialized/deserialized over Gson
-keep class com.myapplication.model.api.** { *; }

还要加上这个

# Gson uses generic type information stored in a class file when working with
# fields. Proguard removes such information by default, keep it.
-keepattributes Signature

# For using GSON @Expose annotation
-keepattributes *Annotation*

相关问题