Очистить проект ошибки с привязкой данных: невозможно удалить файл androidx.databinding.library.baseAdapters - setter_store.json - PullRequest
0 голосов
/ 01 февраля 2019

Я использую привязку данных.Иногда, пока я делаю изменения, проект может быть сломан.Затем я перехожу к Build -> Clean project & Re-Build project .И я получаю странную ошибку:

Unable to delete file: {path_to_project}\app\build\intermediates\data_binding_dependency_artifacts\debug\dataBindingMergeDependencyArtifactsDebug\out\androidx.databinding.library.baseAdapters--setter_store.json

Каждый раз, когда я не знаю, как это исправить, потому что я получаю эту ошибку при чистке или перестройке.Даже если я сделаю Invalidate caches / Restart , проблема не исчезнет.

Если я попытаюсь удалить этот файл вручную, я получу сообщение об ошибке, что файл используется другим процессом.Затем я закрываю проект и успешно удаляю этот файл.Но когда я открываю проект и собираю его, я получаю ту же ошибку, описанную выше.

Как я вижу, проблема связана с привязкой данных, но я не уверен, потому что я видел ту же проблему с другими файлами из другихпользователи на StackOverflow.Иногда проблема исчезла сама собой, но обычно это не так.Возможно, проблема возникает из-за ошибок в файлах компоновки, но как ее найти, если в журнале сборки нет ошибок.

Кто-нибудь встречал эту ошибку?Любые идеи, как исправить эту ситуацию, не сокрушая весь проект в неопределенном временном диапазоне?

Ответы [ 6 ]

0 голосов
/ 16 апреля 2019

Команда «Вниз» в терминале Android Studio.

gradlew --stop

0 голосов
/ 02 апреля 2019

Я перепробовал большинство из приведенных выше решений, но мне показалось, что они не работают.Но вот что я сделал, чтобы снова запустить и запустить мой проект.

Я предполагаю, что это происходит, потому что вы используете DataBinding.перейдите к разделу dataBinding в файле gradle вашего приложения

, теперь отключите dataBinding, установив значение false.затем пересоберите свой проект, и вы заметите ошибку о чем-то, что связано с отсутствием привязки данных в XML-файле.

Следующая EnBable DataBinding, установив в этот раз значение true.Затем перестройте свой проект.

Это должно было очистить эту странную ошибку.

Простите за странное объяснение, но я новичок в содействии stackoverflow.

0 голосов
/ 18 марта 2019

Итак, проблема все еще здесь, но все ответы не решают ее.Проект не компилируется по причине, обычно это какая-то ошибка, и если вы просто удалите папку сборки (которая содержит файл, который Android Studio не может удалить) это не решит проблему .

Когда вы пытаетесь скомпилировать проект, вы можете получить десятки ошибок в сгенерированных файлах (привязка данных, комната и т. Д.).К сожалению, ошибки не отображаются в обычном окне, но если вы развернете эти сгенерированные файлы ошибками, вы, вероятно, увидите реальную проблему: ваши ошибки, которые вы не исправили , когда менялись классы, связанные с сгенерированнымифайлы. Просто исправьте эти ошибки и снова скомпилируйте проект. Примечание: вам, вероятно, следует обратить внимание и на предупреждения.

Но если вы уже получили ошибку Unable to delete file вы выиграли 'не вижу ошибок в сгенерированных файлах.Вам нужно перезапустить Android Studio (если это не поможет, вам нужно удалить app \ build) и попытаться скомпилировать ваш проект.После этого вы найдете сгенерированные файлы с ошибками во вкладке build.

Надеюсь, это поможет!

0 голосов
/ 07 февраля 2019

Я закрываю Android Studio, удаляю папку app \ build, затем снова открываю Android Studio.Обратите внимание, что все экземпляры AS должны быть закрыты для Windows, чтобы можно было удалить папку сборки.

0 голосов
/ 01 февраля 2019

Сначала выполните следующие 4 шага

  • Удалите созданный файл (папка сборки)
  • Очистите проект (просто запустите команду cmd -> gradlew clean)
  • Отключить кэш и перезапустить Android Studio
  • Перезагрузить компьютер

Если это не помогло, попробуйте выполнить следующие действия

  • Gradle Sync;
  • ПереустановитьJava JRE & Java SDK;
  • Переустановите последнюю версию Android Studio
  • Откат к предыдущей версии AS
  • Отключите кэш и перезапустите Android Studio
  • Удалите каталоги gradle и .gradle в каталоге проекта;
  • Удалите каталог .gradle в своем каталоге;
  • Запустите gradlew clean (просто запустите команду cmd -> gradlew clean)
0 голосов
/ 01 февраля 2019

Попробуйте отключить демон и параллельную сборку в gradle.properties

org.gradle.daemon=false
org.gradle.parallel=false
...