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