Android数据绑定L类中无I类现场设备***/******/common/BR
我有一个项目,我正在尝试在将包含的不同应用程序之间共享公共代码 现在我只有一个共同的模块作为android库,在这里我移动了一个片段和他所有的链接资源,这样我就可以在我的主应用程序模块上使用它 我能够正确显示布局,但当我尝试将变量绑定到此布局时,我遇到以下错误:Android数据绑定L类中无I类现场设备***/******/common/BR,android,android-databinding,Android,Android Databinding,我有一个项目,我正在尝试在将包含的不同应用程序之间共享公共代码 现在我只有一个共同的模块作为android库,在这里我移动了一个片段和他所有的链接资源,这样我就可以在我的主应用程序模块上使用它 我能够正确显示布局,但当我尝试将变量绑定到此布局时,我遇到以下错误: java.lang.NoSuchFieldError:L类***/******/common中无I类现场设备/BR;或其超类(在/data/app/******************-9VGDieZHqLKJUD0xhdmawA==/
java.lang.NoSuchFieldError:L类***/******/common中无I类现场设备/BR;或其超类(在/data/app/******************-9VGDieZHqLKJUD0xhdmawA==/split_lib_slice_6_apk.apk中出现'*********.common.BR'声明)
查看堆栈跟踪,问题发生在以下方法中我的片段生成的数据绑定类上:
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中找到它的状态
我不知道这是配置问题还是合并过程中的错误
任何帮助都将不胜感激。检查两个模块的软件包名称是否相同。 我也有类似的错误,这是由于我的lib模块有 与我的应用程序模块名称相同的程序包名称 例如: com.app.example(应用程序模块包名称) com.app.example(lib模块包名称) 我改为: com.app.example(应用程序模块包名称)
com.lib.example(lib模块包名)实际上它是一个包名。。。由于重构失败(它改变了我所有的项目包名称),我花了我预期的更多时间。