构建Android AOSP时遇到“错误:多个字段具有相同的columnName”
Posted
技术标签:
【中文标题】构建Android AOSP时遇到“错误:多个字段具有相同的columnName”【英文标题】:Met "error: Multiple fields have the same columnName" when building Android AOSP 【发布时间】:2022-01-21 08:51:37 【问题描述】:遇到 android Room 时出现错误。我用下面3个类来说明。 A
和 B
类是 Android 应用程序中的 2 个实体类。 C 类是 Android 框架中的一个修改类(更具体地说,它是我正在尝试自定义的核心 Java 库中的一个类)。
@Entity
@Dao
public abstract class A extends C
@PrimaryKey
public int aid;
@Entity
@Dao
public abstract class B extends C
@PrimaryKey
public int bid;
@Embedded
public A a;
public class C
private long cid;
public void setCid(long cid) this.cid = cid;
public long getCid() return this.cid;
当我构建 Android 源时,我得到的错误是 error: Multiple fields have the same columnName: cid. Field names: cid, a > cid.
(如果所有 3 个类都放在一个 Android 应用程序中,我也可以重现该错误)
我知道可以通过修改类A
或B
来修复此错误。但由于我正在自定义 Android 源代码,因此我假设我不允许更改 A
或 B
类。
是否可以通过修改类C
来修复它?
【问题讨论】:
【参考方案1】:如果您不需要序列化类C
,将private long cid;
更改为private transient long cid;
似乎是一种解决方案。
【讨论】:
以上是关于构建Android AOSP时遇到“错误:多个字段具有相同的columnName”的主要内容,如果未能解决你的问题,请参考以下文章
在原生代码编译时找出 AOSP 中的 Android 版本?
向 AOSP 配置添加新符号时,silentoldconfig 无法构建