首页 > 解决方案 > Kotlin 1.5.20 构建问题

问题描述

自从我从 Kotlin 1.5.10 更新到 1.5.20 后,由于模型的原因,我遇到了构建问题。

我得到:注意:PrimaryKey[childId] 被 PrimaryKey[parentId] 覆盖

我的对象是:

@Entity
class Parent : Child() {
    @ColumnInfo(name = "parent_id")
    @PrimaryKey(autoGenerate = true)
    var parentId: Int? = null

    @SerializedName("name")
    var name: String? = null

    ...
}

@Entity
open class Child(
    @ColumnInfo(name = "child_id")
    @PrimaryKey(autoGenerate = true)
    var childId: Int? = null,

    @SerializedName("description")
    var description: String? = null

    ...

) : Serializable {...}

请注意,对于 Kotlin 1.5.10,我没有构建问题。我试图删除孩子的@PrimaryKey,但我收到另一个错误,说@Entity 必须有一个 PrimaryKey

我错过了什么吗?谢谢你的帮助

标签: androidkotlin

解决方案


因为在同一个版本中,我还遇到了关于预期 @androidentrypoint 具有值的问题,我对此进行了一些研究并发现: 预期 @AndroidEntryPoint 具有值。您是否忘记应用 Gradle 插件?

导致https://stackoverflow.com/a/68141101/9606199

https://github.com/google/dagger/issues/2684#issuecomment-860250964

所以我尝试了它并且它有效(仍然有这个错误,但现在构建没问题)。看起来这是 Kotlin 1.5.20 中的一个错误


推荐阅读