Android数据绑定L类中无I类现场设备***/******/common/BR

Android数据绑定L类中无I类现场设备***/******/common/BR,android,android-databinding,Android,Android Databinding,我有一个项目,我正在尝试在将包含的不同应用程序之间共享公共代码 现在我只有一个共同的模块作为android库,在这里我移动了一个片段和他所有的链接资源,这样我就可以在我的主应用程序模块上使用它 我能够正确显示布局,但当我尝试将变量绑定到此布局时,我遇到以下错误: java.lang.NoSuchFieldError:L类***/******/common中无I类现场设备/BR;或其超类(在/data/app/******************-9VGDieZHqLKJUD0xhdmawA==/

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

现在我只有一个共同的模块作为android库,在这里我移动了一个片段和他所有的链接资源,这样我就可以在我的主应用程序模块上使用它

我能够正确显示布局,但当我尝试将变量绑定到此布局时,我遇到以下错误:
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模块包名)

实际上它是一个包名。。。由于重构失败(它改变了我所有的项目包名称),我花了我预期的更多时间。