android - 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
我错过了什么吗?谢谢你的帮助
解决方案
因为在同一个版本中,我还遇到了关于预期 @androidentrypoint 具有值的问题,我对此进行了一些研究并发现: 预期 @AndroidEntryPoint 具有值。您是否忘记应用 Gradle 插件?
导致https://stackoverflow.com/a/68141101/9606199
和https://github.com/google/dagger/issues/2684#issuecomment-860250964
所以我尝试了它并且它有效(仍然有这个错误,但现在构建没问题)。看起来这是 Kotlin 1.5.20 中的一个错误
推荐阅读
- python - 关于打印 For Loop 的 Python 问题
- typescript - TypeScript:类型“颜色”不可分配给类型“默认”| “主要” | “次要”
- javascript - 如何在 JS 的警告框中打印多个变量
- elasticsearch - Elasticsearch 找不到独立的保留字符
- fonts - JetBrains One Dark Theme Demo 页面使用此字体。这叫什么?
- python-3.x - Bugzilla 使用 Rest API 创建并给出错误代码 500
- node.js - 使用 Puppeteer 从 span 中提取文本
- python-3.x - Pymodbus 'ModbusIOException'
- c - 十六进制到C中的双重转换
- sql-server - 如果行数达到 10000,如何从 SQL 中删除前 (1) 行