问题描述
在最近的发行版本创建中,我的一个具有@Serializedname成员的类正变得模糊不清,而在先前的发行版中没有发生。
我的课:
data class Segments(
@Serializedname("list")
val list: List<Segment>
)
也在proguard中使用-keepattributes *Annotation*
。
请有人帮我,这是怎么了?
解决方法
我花了很多时间弄清楚为什么我的其他类成员没有被混淆并且没有出现空指针崩溃。
首先使缓存无效并重新启动,主要是缓存问题。如果不起作用,请尝试以下解决方案。
(我的假设是 Proguard / R8搞砸了)。我知道我可以使用@Keep,但我不想这样做,因为它是 @SerializedName 注释。后来找到了解决方法,
-
初始化的数据成员
-
使用@Parcelize注释并实现了Parcelable,
@Parcelize data class Segments( @SerializedName("list") val segments: List<HomeFSegmentsSegment> = ArrayList() ) : Parcelable
这可能/可能不是解决问题的确切方法,但确实解决了问题。