数据绑定 - 无法复制完整内容

Pau*_*nko 6 android android-databinding

我的应用程序具有包含许多模块的结构。当我构建应用程序时,我通常会收到此错误,但我无法确定原因......

Failed to copy full contents from 
'D:\Projects\MyCompanyName\myproject\build\myproject\module1\intermediates\data_binding_base_class_log_artifact\debug\out\com.mycompanyname.myproject-binding_classes.json' 
to 
'D:\Projects\MyCompanyName\myproject\build\myproject\module2\intermediates\data_binding_base_class_logs_dependency_artifacts\debug\out\com.mycompanyname.myproject-binding_classes.json'
Run Code Online (Sandbox Code Playgroud)

不同的模块都会发生这种情况。之前,重新启动2-3次项目就正常构建了。但随着模块的增多,这个错误开始更频繁地出现。我什至尝试更改构建目录:

allprojects {
    buildDir = rootProject.buildDir.path + "/${project.name}"
}
Run Code Online (Sandbox Code Playgroud)

但这没有帮助:/

Pau*_*nko 1

我已经找到原因了 在我的 Gradle 项目中,我有一段代码在模块的 Gradle 文件中应用一些常见的值。除此之外,我在那里启用了数据绑定:

afterEvaluate { project ->
    if (project.hasProperty('android')) {
        android {
            dataBinding {
                enabled = true
            }

            // Other stuff here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但并非每个模块都实现了数据绑定(尤其是持久层模块)。因此,答案是您应该仅在实现数据绑定的模块和应用程序模块中放置启用数据绑定的行。