내 앱에는 많은 모듈이있는 구조가 있습니다. 앱을 빌드 할 때 일반적으로이 오류가 발생하고 이유를 확인할 수 없습니다.
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}"
}
하지만 도움이되지 않았습니다.
이유를 찾았습니다. 내 프로젝트 Gradle에는 모듈의 Gradle 파일에 몇 가지 공통 값을 적용하는 코드가 있습니다. 데이터 바인딩을 활성화 한 모든 것 외에도 :
afterEvaluate { project ->
if (project.hasProperty('android')) {
android {
dataBinding {
enabled = true
}
// Other stuff here
}
}
}
그러나 모든 모듈에 데이터 바인딩이 구현 된 것은 아닙니다 (특히 지속성 레이어 모듈). 따라서 대답은 데이터 바인딩이 구현 된 모듈과 앱 모듈에서만 데이터 바인딩을 활성화하는 줄을 넣어야한다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다