Привязка данных - не удалось скопировать полное содержимое - PullRequest
1 голос
/ 15 января 2020

Мое приложение имеет структуру со многими модулями. Когда я создаю приложение, я обычно получаю эту ошибку, и я не могу определить, почему ...

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'

Это происходит с различными модулями. Раньше проект строился нормально, когда я запускал его 2-3 раза. Но с большим количеством модулей эта ошибка стала появляться чаще. Я даже пытался изменить каталог сборки:

allprojects {
    buildDir = rootProject.buildDir.path + "/${project.name}"
}

Но это не помогло: /

1 Ответ

0 голосов
/ 16 января 2020

Я нашел причину. В моем проекте Gradle у меня есть код, который применяет некоторые общие значения в файлах Gradle модулей. Помимо всего, что я там включал, связывание данных:

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

            // Other stuff here
        }
    }
}

Но не во всех модулях реализовано связывание данных (особенно в модулях персистентного уровня). Таким образом, ответ заключается в том, что вы должны поставить строку для включения привязки данных только в тех модулях, где реализована привязка данных, и в модуле приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...