微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带注释的SerializedName成员在发行版Android中变得模糊不清

如何解决带注释的SerializedName成员在发行版Android中变得模糊不清

在最近的发行版本创建中,我的一个具有@Serializedname成员的类正变得模糊不清,而在先前的发行版中没有发生。

我的课:

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

也在proguard中使用-keepattributes *Annotation*

请有人帮我,这是怎么了?

解决方法

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

首先使缓存无效并重新启动,主要是缓存问题。如果不起作用,请尝试以下解决方案。

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

  1. 初始化的数据成员

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

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

这可能/可能不是解决问题的确切方法,但确实解决了问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。