Помилка: Не вдалося виконати завдання ": app: clean". Неможливо видалити файл


166

Я намагаюся відновити проект Android Studio Gradle (що містить в основному код Котліна), але він почав викидати UnableToDeleteFileExceptionпід час очищення / відновлення:

Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar

Це почалося після того, як я спробував змінити структуру пакету свого проекту. На жаль, я зробив це шляхом перейменування та переміщення вихідних папок, а не рефакторингу через Android Studio, що було поганою ідеєю.

Я весь день шукав рішення цієї проблеми, і це те, що я намагався безрезультатно:

  • Робота синхронізації Gradle;
  • Перевстановлення Java JRE та Java SDK;
  • Перевстановлення останньої версії Android Studio (1.4);
  • Відкат до попередньої версії AS (1.3);
  • Недійсне кеш AS та перезапуск;
  • Видалення каталогів gradleта .gradleкаталогів у каталозі проектів;
  • Видалення .gradleкаталогу в моєму каталозі користувачів;
  • Запуск gradlew cleanвід терміналу AS;
  • Вручну копіювати джерела в новий проект (дивно, що воно якось зберігається в проектах ...)

Те, що я спробував з невеликим успіхом, але дозвольте мені виконати ще одне очищення та відновити, перш ніж помилка повториться:

  • Закрити AS, вручну видалити файли збірки та відкрити його знову;
  • Вбивство java.exeпроцесу під час запуску AS (технічно це можна робити щоразу, але це втомливо і сповільнює процес збирання)

Тож здається, що компілювати процес Java може з якихось причин поставити замок на файли збірки, але це може бути пов'язано і з Котліном. У мене є (більш зрілий) проект Android Android, над яким я працюю, хоча я не можу відтворити цю помилку при її чищенні. Здається, це трапляється лише з моїм проектом Котліна.

Оновлення:

Я виявив, що проблема викликана плагіном Kotlin Android. Проблема зникає, коли я виймаю apply plugin: 'kotlin-android'з build.gradleфайлу модуля, і повертається, коли я його знову вставляю. Не соромтеся запропонувати будь-яку інформацію про це.

Оновлення 2:

Останнє оновлення не є причиною. Я виявив, що якщо проект містить файл Kotlin, то відбудова та очищення не вдається. Він продовжує виходити з ладу, навіть якщо всі файли Kotlin видалені, доти, поки фоновий процес Java не буде знищений, це означає, що він має якийсь замок у файлах збірки. Тут я надіслав помилку з більш детальною інформацією та кроками для відтворення помилки: KT-9440


3
недійсний кеш і перезапуск студії з меню файлів.
Мохаммед Таукір

Я вже спробував це, але спробував це знову на всякий випадок. Досі не пощастило, хоча.
Брайні

Таке питання мені часто трапляється. якщо перша опція не спрацювала, тоді вийдіть із системи, а потім увійдіть в студію після входу.
Mohammad Tauqir

2
Перезавантажив комп'ютер, і проблема все ще зберігається. Дякуємо за вашу допомогу.
Брайні

Відповіді:


123

Якщо ви використовуєте Android Studio 2.0 Beta, ця проблема може з’явитися (швидше за все, якщо ви працюєте з файловою системою NTFS), і, здається, винуватцем "Миттєвий запуск". Шукайте "Моментальний запуск" у налаштуваннях і зніміть прапорець.

Я подав проблему на трекер помилок.


Я використовую sshfs. Тут же питання. Відключення миттєвого запуску працює для мене.
Пісня

2
Так, вимкнення INSTANT RUN Studio 2.0 beta 7 вирішило цей виняток
Yogesh Seralia

1
Моя Android Studio 2.0 застрягла при оновленні конкретного проекту. Я спробував усе, і випадково дотримувався цієї відповіді, і це вирішило проблему, яка відрізнялася від питання. Я так довго тримався. Я б хотів, щоб я міг підняти вас більше разів! Дякую
Рахіта Нанда

9
Це працювало для мене. Якщо це комусь допоможе: Вимкнути функцію миттєвого запуску у версії 2.1 Android Studio, це файл -> Налаштування -> Збірка, виконання, розгортання -> Миттєвий запуск, а потім зніміть прапорець у першому полі "Увімкнути миттєвий запуск ...".
nickandross

1
Я використовую AS v2.1.3. У моєму випадку вікно "Миттєвий запуск" вже не було відмічене, тому я перевірив його, застосував, очистив і перезавантажив проект (помилка все-таки була), а потім зняв його, застосував, очистив і перезавантажив проект та помилку Пішла.
Джосе

114

Я вбив усі процеси Java TM в менеджері завдань, і це дозволило мені відновитись


29
+1. Процес Zombie Java був проблемою. Якщо ви перебуваєте на програмі Win 10, відкрийте диспетчер завдань; шукайте бінарну платформу SE (TM); Кінцеве завдання.
Якийсь студент Noob

26
Ви можете використовувати gradle --stopдля зупинки будь-які застряглі демони як альтернативу.
Джейсон Мінард

1
Чи є якийсь автоматичний спосіб вбити процеси. Я витрачаю стільки часу, вбиваючи його вручну в кожній чисті.
AvatarQing

У моєму випадку був відкритий Meld (інструмент порівняння та об’єднання), який блокував папку для очищення
Армандо

в моєму випадку я не знайшов Java TM, тому я перезапустив Windows
Dasser Basyouni

41

Спробуйте Файл -> Недійсні кеші та перезапустіть

Це працювало для мене


"Недійсний кеш і перезапуск" змушує Android-студію застрягти у ПК Windows 8. Я використовую Android Studio 2.2.2. Я взагалі можу використовувати цю функцію. Хтось має для цього правильне рішення ?.
Nithinjith

Файл -> Недійсні кеші та перезапуск працює, але займає стільки часу, що це не нормально. Основна проблема несправності привілеїв файлів Win10 знову прийшла до мене, оновивши його до SDK 27 (я прийняв повідомлення про оновлення). І після того ж оновлення AS кричить для NDK 15, але є лише NDK14, встановіть компіляцію компіляції SDK для компіляції на 26 і вона не плаче. Подивись, ми тут між двома поколіннями ?? У Win10 x64 також є проблеми з емуляторами, які потребують видалення даних для їх повторного використання. Як звучить дуже багато деталей, які потрібно виправити?
Ян Бергстрьом

30

Після того як я опублікував звіт про помилки у трекері помилок у Котліні, мені було повідомлено про випуск 61300 на трекері AOSP. Це, мабуть, є причиною. Оскільки на даний момент я нічого не можу зробити, я позначу це питання як відповідне, і я оновлю відповідь, якщо помилка виправлена.

Тим часом, якщо ви працюєте з Windows, я вважаю, що я знайшов рішення. Вам потрібно буде завантажити LockHunter (звичайно, на власний ризик), а потім додати наступне у gradle.buildфайл вашого модуля , замінивши lockhunterзмінну на ваш шлях до LockHunter.exe:

task clean(type: Exec) {
    ext.lockhunter = '\"C:\\LockHunter.exe\"'
    def buildDir = file(new File("build"))
    commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}

Це змушує LockHunter примусово і мовчки розблокувати та видалити файли збірки, коли програма app: clean запускається.


Я вирішив чисту проблему з цим, але не зміг зробити те ж саме для запуску програми. Все-таки отримайте ту саму помилку. Отримав будь-яку ідею; може, змінити чисту чимось іншим?
кодіак

Помилка: (21, 0) Оголошення спеціального завдання "чистого" при використанні стандартних плагінів життєвого циклу Gradle заборонено.
Шашват Гупта

26

Очистіть проект від терміналу за допомогою цієї команди gradlew clean.

введіть тут опис зображення


2
Введення вищевказаної команди розпочало завантаження, розпакування та встановлення, що зайняло деякий час. Після цього це рішення спрацювало для мене.
Дейл

На це пішло 11 хвилин, але це, здається, спрацювало. Шов у часі економить дев’ять. Це має бути прийнятою відповіддю.
mwieczorek

Я на ubuntu, я запустив чистий gradlew, як було зазначено вище, але не працював .. :( .command не знайдено.
Abhijit Gujar

1
@AbhijitGujar Натомість слід спробувати ./gradlew cleanUbuntu. (Він запустить gradlewвиконуваний файл з каталогу проектів.)
TerraPass

7
./gradlew cleanне вирішив для мене цю проблему. Він знову показав ту саму помилку, тобто "не в змозі видалити каталог"
abggcv

12

Видалення каталогу intermediates- це швидке усунення проблеми.

Каталог буде перебудований після відновлення проекту.


1
Я намагався видалити каталог проміжних продуктів, але Windows мені каже, що я не можу видалити каталог. Дивно.
tronman

Це працювало для мене над одним із проектів, але не над іншим :(
abggcv

7

Я зіткнувся з тією ж проблемою на Android Studio 2.2 preview 1, рішення @AndresSuarez було правильним, але з якихось причин я не зміг знайти процес JAVA TM у своєму менеджері завдань. Тому я спробував таке рішення, і воно спрацювало -

Відкрийте командний рядок і введіть TASKKILL /F /IM java.exe. Це автоматично знищить усі процеси JAVA TM. Тепер знову складіть додаток, воно буде працювати.

Крім того, ви можете створити .bat файл, додати в нього вищезгаданий код і запускати його щоразу, коли стикаєтеся з проблемою.


5

У мене була ця проблема в Android Studio 2.3.

Я просто перезапустив Android Studio і після цього я міг чистити без нарікань.


5

Для мене це сталося через активний процес налагодження . Тож перед тим, як чистити чи перебудовувати, обов’язково вбийте всі активні процеси. Щоб зменшити успіх, виконайте Invalidate Caches / Restart .


4

У мене була така ж проблема, і це спрацювало на мене:

  1. закрити Android Studio.
  2. видалити каталог проміжних продуктів (доки Android Studio не відкриється, цей каталог неможливо видалити)
  3. знову відкрити Android Studio

4

Я вирішив командою:

taskkill /F /IM java.exe

і потім:

gradle assembleDebug 

3

Я вирішив цю у своєму ubuntu так.

  1. Перевірте процеси, що працюють у вашій системі (Ubuntu), як у диспетчері завдань у Windows.

    Команда терміналу Ubuntu для списку всіх процесів, що запущені ----> "gnome-system-monitor"

  2. Припинити або припинити процеси JAVA та ANDROID у списку.

  3. Знову запускайте проект студії та імпорту.

Це працює для мене без проблем. Сподіваюся, це допомагає ...

Я подумав, що це проблема з процесом, який вже створений і дублюється.


3

Для мене це допомагає, коли я Exit Android Studioнатискаю ще один раз Clean Project(з'являється така ж помилка) і наступне клацання Make Project- після цього, звичайно, Run 'app'кнопку в Android Studio.


3

Знайдіть програми, які використовували додаток / build / output / apk папку, а потім просто видаліть папку.

Я думаю, що Android Studio доведеться видалити стару папку apk перед відновленням.


3

Інколи проміжні продукти створюють проблему, тому видаліть її та відновіть проект

АБО

просто запустіть команду cmd -> gradlew clean

у папці вашого проекту в робочому просторі (його робота для мене)


2

Рішення досить легко.

Це одне з рішень, яке працювало для мене.

Можливо, папка додаток / збірка / виходи / apk вашого проекту буде відкрита.

тому просто закрийте цю папку та відновіть свій проект. і це буде вирішено.


так, у мене була ця проблема, був файл звіту, який зберігається у build / report / checkstyle.html, закриття цього файлу вирішило мою проблему, дякую
tamtom


2

Для мене винуватцем adb тримає файл apk, оскільки я використовую його для встановлення та запуску програми на моєму фізичному пристрої через командний рядок.

Так просто:

Диспетчер завдань> Закінчити процес adb.exe

І тоді файл можна безкоштовно видалити, і проект може бути очищений


2

реагують на рідні дияволи

бігати

sudo cd android && ./gradlew clean

і якщо ви хочете, випустіть apk

sudo cd android && ./gradlew assembleRelease

Сподіваюся, це комусь допоможе


1

Якщо ви тестуєте локальний сервер (java сервлет у локальному двигуні програми Google), запущений процес блокує деякі файли. Таким чином, ви не можете жити розгортати. Тож у цьому випадку ви можете вирішити це, зупинивши локальний сервер перед тим, як почати чистити або збирати. Ви знайдете цю опцію в розділі "Виконати -> Зупинити запуск".


1

В Android Studio 3.0 у мене був той самий випуск. Це виправлено:

  1. Закрити студію
  2. Видалити projectRoot / build / та projectRoot / app / build /
  3. Перезавантажте студію

1

У мене була та сама проблема після переміщення проекту з D: на G: диск, але перевірка диска вирішила мою проблему

Я використовував chkdsk / f / r / x G: **, тут були використані деякі перемикачі командного рядка: **

/ F Виправляє помилки на диску

/ R Знаходить погані сектори та відновлює читану інформацію (мається на увазі / F)

/ X Примушує гучність, якщо потрібно, спочатку демонтувати (мається на увазі / F) (важливо)

Примітка: / X важливий, оскільки він демонтуватиме накопичувач, і ви можете вручну видалити збірку каталог вашого проекту,

тепер відновіть проект


Це спрацювало. Дякую! :) Але пройшло майже 5 годин. час для завершення.
Rohit Sharma

1

Я просто вирішив для себе цю точну проблему.

Проблема полягала в тому, що хтось інший створив файл так, навіть не маючи прав адміністратора на комп’ютері, я не зміг внести зміни у файл чи файли. Потрібно зайти у властивості файлу чи папки та змінити право власності або додати право власності. Ця веб-сторінка покроково пояснює, що вам потрібно зробити.

Після того, як я зробив вище, я знайшов файл у файлі Explorer і вручну витяг його. Я не думаю, що це потрібно в проекті студії андроїд, якщо він намагався би його видалити.


1

Інший додаток, який може використовувати ресурси, - це, очевидно, РЕПЛ Android-студії Android Studio. Я закрив це, і тоді я міг побудувати знову без проблем.


0

Ця проблема з’явилася мені в стабільному каналі для Android Studio 2.0, і рішення було пов’язане з проблемою, яка сталася під час оновлення моєї андроїд-студії. Я вирішив це, встановивши свіжу студію Android. після видалення всіх старих файлів для старої установки. і зберегти дуже гарну особливість миттєвого запуску


0

якщо у вас все ще виникають проблеми, то оновіть до останньої версії Android Studio (її 2.1 на сьогодні), можливо, це була помилка зі старішою версією Android Studio. Це вирішено для мене зараз.


Зустрічається в 2.2 попередньому перегляді 1 для мене, тому я не думаю, що це виправлено.
Рохан Кандвал

0

Очищення проекту в студії Android та запуск знову вирішили проблему. Також можна зробити "Зробити проект".


0

У мене була така ж проблема, і я вирішив її, перемістивши папку проекту в розділ ext4


Так, я читав деінде, що система Android Studio / gradle / React Native / packger / watchman має проблеми (чомусь) у файлових системах NTFS.
Венрікс

0

У мене була така ж помилка, я спробував кілька способів, але рішення, яке працювало для мене, було видалити папки збірки з каталогів / android та / android / app.

біг react-native run-androidпрацював на мене.


0

Я вирішив це шляхом глобального пошуку відсутнього каталогу в проекті. потім видаліть будь-які файли, що містять це ключове слово. він може успішно чиститися після видалення всіх buildта .externalNativeBuildкаталогів вручну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.