SerializedName 注释成员在发布版本中变得模糊 Android

SerializedName annotated member is getting obfuscated in release build Android

在最近的版本创建中,我的一个 class 具有 @SerializedName 成员的 es 被混淆了,这在以前的版本中没有发生。

我的class:

data class Segments(
        @SerializedName("list")
        val list: List<Segment>
)

也在混淆器中使用-keepattributes *Annotation*

谁能帮帮我,这里有什么问题吗?

我花了很多时间弄清楚为什么我的其他 class 成员没有被混淆并且没有出现任何空指针崩溃。

首先使缓存无效并重新启动主要是缓存issue.if不起作用尝试下面的解决方案。

(我的假设是 Proguard/R8 搞砸了 这个)。我知道我可以使用 @Keep 但我不想那样做,因为它是 @SerializedName 注释。后来找到修复,

  1. 初始化数据成员

  2. 用@Parcelize 注释并实现了 Parcelable,

     @Parcelize
     data class Segments(
         @SerializedName("list")
         val segments: List<HomeFSegmentsSegment> = ArrayList()
     ) : Parcelable
    

这may/may不是问题的确切解决方案,但确实解决了问题。