gpt4 book ai didi

Android DataBinding 类 L***/****/common/BR 中没有类型 I 的现场设备

转载 作者:行者123 更新时间:2023-11-29 18:34:32 24 4
gpt4 key购买 nike

我有一个项目,我试图在将包含的不同应用程序之间共享通用代码。

现在我只有一个通用模块作为 android 库,我在其中移动了一个 fragment 及其所有链接资源,以便我可以在我的主应用程序模块上使用它。

我能够正确显示布局,但是当我尝试将变量绑定(bind)到此布局时,出现以下错误:java.lang.NoSuchFieldError: 类 L***/****/common/BR 中没有类型 I 的现场设备;或其父类(super class)('**.****.common.BR' 的声明出现在/data/app/***.****.******-9VGDieZHqLKJUD0xhdmawA==/split_lib_slice_6_apk.apk)

查看堆栈跟踪,此方法中我的 fragment 生成的数据绑定(bind)类发生了问题:

public void setDevice(@Nullable **.***.common.vo.Device Device) {
this.mDevice = Device;
synchronized(this) {
mDirtyFlags |= 0x1L;
}
notifyPropertyChanged(BR.device);
super.requestRebind();
}

特别是在这个调用中:notifyPropertyChanged(BR.device)

显然生成的类在合并的 BR 文件中找不到 BR.device,但它仍然是在拆分的 APK 中找到的...

不知道是配置问题还是合并过程中的bug...

我们将不胜感激。

最佳答案

检查两个模块的包名是否相同。我有类似的错误,这是由于我的 lib 模块有与我的应用程序模块相同的包名。

例子:

com.app.example(应用模块包名)com.app.example(lib模块包名)

我改成了这样:

com.app.example(应用模块包名)com.lib.example(lib模块包名)

关于Android DataBinding 类 L***/****/common/BR 中没有类型 I 的现场设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54833708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com