В течение последних нескольких месяцев я получаю спорадическую, перемещающуюся ошибку времени сборки «Не удалось удалить путь» для папки в папке «build/generated/source/r» (точная папка меняется). Например:
Если я посмотрю на папку сборки, я увижу, что
- Присутствует оскорбительная папка
- Оскорбительная папка — это первая папка в папке «r».
- Папка с нарушением пуста
- Присутствуют последующие папки, каждая из которых содержит 1 файл: R.file
Например, если проблемная папка — «localbroadcastmanager»:
Если я попытаюсь построить снова (Build, Make Project), он успешно удалит папку-нарушитель и несколько последующих папок. И тогда он (часто) столкнется с проблемой для другой папки «позже» в дереве файлов.
Если я продолжу попытки построить, это в конечном итоге увенчается успехом, иногда после примерно 20 неудачных попыток.
Если я вручную удалю папку «сборка» (либо в Android Studio, либо через проводник), следующий процесс сборки завершится без ошибок. К сожалению, это требует больших накладных расходов для каждой итерации сборки.
Моя теория заключается в том, что задача сборки gradle рекурсивно удаляет структуру в разделе «source/r». Для каждой папки содержимое папки (R.java) удаляется, а затем удаляется папка. Иногда удаление папки инициируется до завершения удаления файла, что приводит к блокировке папки.
Детали системы
- Windows 10
- Android-студия 3.1.4
- Антивирус: Trend Micro Internet Security 12.0
Вещи, которые я пробовал
- Android Studio
- Build, Clean Project
- Недействительные кеши/перезапуск
- Удалить папку «сборка» (работает, но не является разумным решением)
- Anti-virus (Trend Micro)
- Added "build" folder to "Exception List"
- Отключенный антивирус
- Использовал Resource Monitor и Process Explorer, чтобы увидеть, не блокирует ли другой процесс папку
- Пробные предложения размещены здесь: сообщение StackOverflow: не удалось удалить путь