Błąd: nie powiodło się wykonanie zadania „: app: clean”. Nie można usunąć pliku


166

Próbuję odbudować mój projekt Android Studio Gradle (zawierający głównie kod Kotlin), ale zaczął wyrzucać UnableToDeleteFileExceptionpodczas procesu czyszczenia / przebudowy:

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

Zaczęło się to dziać po próbie zmiany struktury pakietu mojego projektu. Niestety, zrobiłem to, zmieniając nazwę i przenosząc foldery źródłowe zamiast refaktoryzacji przez Android Studio, co było złym pomysłem.

Cały dzień szukałem rozwiązania tego problemu, a oto rzeczy, których bezskutecznie próbowałem:

  • Wykonywanie synchronizacji Gradle;
  • Ponowna instalacja środowiska Java JRE i Java SDK;
  • Ponowna instalacja najnowszej wersji Android Studio (1.4);
  • Cofam się do poprzedniej wersji AS (1.3);
  • Unieważnienie pamięci podręcznej AS i ponowne uruchomienie;
  • Usuwanie katalogów gradlei w .gradlekatalogu projektu;
  • Usuwanie .gradlekatalogu w moim katalogu użytkownika;
  • Bieganie gradlew cleanz terminala AS;
  • Ręczne kopiowanie źródeł do nowego projektu (dziwne, że w jakiś sposób utrzymuje się między projektami ...)

Rzeczy, które próbowałem z niewielkim sukcesem, ale pozwolę mi tylko przeprowadzić jeszcze jedno czyszczenie i odbudować, zanim błąd wystąpi ponownie:

  • Zamykanie AS, ręczne usuwanie plików kompilacji i ponowne otwieranie;
  • Zabijanie java.exeprocesu podczas działania AS (technicznie można to zrobić za każdym razem, ale jest żmudne i spowalnia proces kompilacji)

Wygląda więc na to, że kompilacja procesu Java może z jakiegoś powodu zablokować pliki kompilacji, ale może to również mieć coś wspólnego z Kotlinem. Mam (bardziej dojrzały) projekt Java na Androida, nad którym pracuję, chociaż nie mogę odtworzyć tego błędu podczas czyszczenia. Wydaje się, że dzieje się to tylko z moim projektem Kotlin.

Aktualizacja:

Odkryłem, że przyczyną problemu jest wtyczka Kotlin dla systemu Android. Problem znika po usunięciu apply plugin: 'kotlin-android'modułu z build.gradlepliku i wraca po ponownym włożeniu. Zapraszam do przedstawienia wglądu w to.

Aktualizacja 2:

Ostatnia aktualizacja nie jest przyczyną. Odkryłem, że jeśli projekt zawiera plik Kotlin, odbudowa i czyszczenie nie powiedzie się. Nadal kończy się niepowodzeniem, nawet jeśli wszystkie pliki Kotlin zostaną usunięte, dopóki nie zostanie zabity proces Java w tle, co oznacza, że ​​ma pewien rodzaj blokady na plikach kompilacji. Zgłosiłem tutaj błąd, podając więcej szczegółów i kroki, aby go odtworzyć: KT-9440


3
unieważnij pamięć podręczną i uruchom ponownie studio z menu plików.
— Mohammad Tauqir

Już tego próbowałem, ale na wszelki wypadek spróbowałem ponownie. Jednak nadal nie ma szczęścia.
— Bryony

Ten rodzaj problemu często mi się przytrafia. jeśli pierwsza opcja nie zadziałała, wyloguj się z systemu i po zalogowaniu uruchom studio.
— Mohammad Tauqir

2
Zrestartowałem komputer, a problem nadal występuje. Ale dzięki za pomoc.
— Bryony

Odpowiedzi:


123

Jeśli używasz Android Studio 2.0 Beta, ten problem może się pojawić (bardziej prawdopodobne, jeśli pracujesz w systemie plików NTFS) i wygląda na to, że przyczyną jest „Natychmiastowe uruchomienie”. Wyszukaj „Instant Run” w ustawieniach i odznacz pole.

Zgłosiłem problem w narzędziu do śledzenia błędów.


Używam sshfs. Ten sam problem tutaj. Wyłączenie natychmiastowego uruchamiania działa dla mnie.
— Song

2
Tak, WYŁĄCZENIE NATYCHMIASTOWEGO URUCHAMIANIA Studio 2.0 beta 7 rozwiązało ten wyjątek
— Yogesh Seralia

1
Mój Android Studio 2.0 utknął podczas odświeżania konkretnego projektu. Próbowałem wszystkiego i przypadkowo podążyłem za tą odpowiedzią i rozwiązałem problem, który był inny niż pytanie. Utknąłem na tak długo. Chciałbym móc głosować za Ciebie więcej razy! Dziękuję
— Rachita Nanda

9
To zadziałało dla mnie. W przypadku, gdy komuś pomoże: Aby wyłączyć natychmiastowe uruchamianie w wersji 2.1 Android Studio, to jest Plik -> Ustawienia -> Kompilacja, Wykonanie, Wdrożenie -> Natychmiastowe uruchamianie, a następnie odznacz pierwsze pole „Włącz natychmiastowe uruchamianie ...”.
— nickandross

1
Używam AS v2.1.3. W moim przypadku pole "Natychmiastowe uruchamianie" było już odznaczone, więc zaznaczyłem je, zastosowałem, wyczyściłem i ponownie ułożyłem projekt (błąd nadal tam był) a następnie odznaczyłem go, zastosowałem, wyczyściłem i ponownie ułożyłem projekt i błąd zniknął.
— jose

114

Zabiłem wszystkie procesy java TM w menedżerze zadań i pozwoliło mi to odbudować


29
+1. Problemem był proces Zombie Java. Jeśli korzystasz z Win 10, otwórz Menedżera zadań; poszukaj pliku binarnego Java (TM) Platform SE; Zakończ zadanie.
— Jakiś student Noob

26
gradle --stopAlternatywnie możesz użyć do zatrzymania zablokowanych demonów.
— Jayson Minard,

1
Czy istnieje jakiś automatyczny sposób na zabicie procesów. Marnuję tyle czasu, zabijając go ręcznie przy każdym czyszczeniu.
— Avatar Qing

W moim przypadku było otwarte Meld (narzędzie do porównywania i scalania), które blokowało folder w celu wyczyszczenia
— Armando

w moim przypadku nie znalazłem Java TM, więc ponownie uruchomiłem okna
— Dasser Basyouni

41

Spróbuj File -> Invalidate Caches and Restart

To zadziałało dla mnie


Opcja „Unieważnij pamięć podręczną i uruchom ponownie” powoduje, że studio Android utknęło w komputerze z systemem Windows 8. Używam Android Studio 2.2.2. W ogóle mogę korzystać z tej funkcji. Czy ktoś ma na to odpowiednie rozwiązanie?
— Nithinjith

Plik -> Unieważnij pamięć podręczną i uruchom ponownie, działa, ale zajmuje tyle czasu, że nie jest w porządku. Podstawowy problem z nieprawidłowym działaniem uprawnień do plików Win10 pojawił się ponownie po aktualizacji do SDK 27 (zaakceptowałem komunikat o aktualizacji). Po tej samej aktualizacji AS woła o NDK 15, ale dostępny jest tylko NDK14, ustaw zestaw SDK kompilacji gradle na 26 i nie płacze. Wygląda na to, że jesteśmy tu między dwoma pokoleniami? W Win10 x64 występują również problemy z emulatorami, które wymagają wyczyszczenia danych w celu ponownego wykorzystania. Brzmi jak bardzo dużo szczegółów do naprawienia?
— Jan Bergström

30

Po tym, jak wysłałem raport o błędzie do narzędzia do śledzenia błędów Kotlin, zostałem powiadomiony o numerze 61300 w module śledzącym AOSP. To wydaje się być przyczyną. Ponieważ w tej chwili nic nie mogę zrobić, oznaczę to pytanie jako odpowiedź i zaktualizuję odpowiedź, jeśli błąd zostanie naprawiony.

W międzyczasie, jeśli używasz systemu Windows, wydaje mi się, że znalazłem obejście. Będziesz musiał pobrać LockHunter ( oczywiście na własne ryzyko), a następnie dodać następujący kod do gradle.buildpliku swojego modułu , zastępując lockhunterzmienną ścieżką do LockHunter.exe:

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

Powoduje to, że LockHunter wymusza i dyskretnie odblokowuje i usuwa pliki kompilacji, gdy uruchomione jest zadanie app: clean.


Rozwiązałem czysty problem z tym, ale nie mogę zrobić tego samego z uruchomieniem aplikacji. Nadal pojawia się ten sam błąd. Mam jakiś pomysł; może zmienić czysty na coś innego?
— codiac

Błąd: (21, 0) Deklarowanie niestandardowego „czystego” zadania podczas korzystania ze standardowych wtyczek cyklu życia Gradle jest niedozwolone.
— Shashwat Gupta

26

Wyczyść projekt z terminala za pomocą tego polecenia gradlew clean.

wprowadź opis obrazu tutaj


2
Wpisanie powyższego polecenia rozpoczęło pobieranie, rozpakowywanie i instalację, co zajęło trochę czasu. Potem to rozwiązanie zadziałało dla mnie.
— Dale

Zajęło to 11 minut, ale wydaje się działać. Ścieg w czasie oszczędza dziewięć. To powinna być akceptowana odpowiedź.
— mwieczorek

Jestem na ubuntu, uruchomiłem gradlew czysty zgodnie z instrukcją powyżej, ale nie zadziałało .. :( .command not found.
— Abhijit Gujar

1
@AbhijitGujar Zamiast tego powinieneś wypróbować ./gradlew cleanUbuntu. (Uruchomi gradlewplik wykonywalny z katalogu projektu.)
— TerraPass

7
./gradlew cleannie rozwiązało za mnie tego problemu. Ponownie pokazał ten sam błąd, tj. „Nie można usunąć katalogu”
— abggcv

12

Usunięcie katalogu intermediatesto szybkie rozwiązanie problemu.

Katalog zostanie odbudowany po odbudowaniu projektu.


1
Próbowałem usunąć katalog pośredni, ale system Windows mówi mi, że nie mogę usunąć katalogu. Dziwne.
— tronman

Udało mi się to przy jednym z projektów, ale nie przy innym :(
— abggcv

7

Miałem ten sam problem na Android Studio 2.2 w wersji zapoznawczej 1, rozwiązanie autorstwa @AndresSuarez było poprawne, ale z pewnych powodów nie mogłem znaleźć procesu JAVA TM w moim menedżerze zadań. Wypróbowałem więc następujące rozwiązanie i zadziałało -

Otwórz wiersz polecenia i wpisz TASKKILL /F /IM java.exe. Spowoduje to automatyczne zabicie wszystkich procesów JAVA TM. Teraz ponownie skompiluj aplikację, będzie działać.

Dodatkowo możesz utworzyć plik .bat , dodać do niego powyższy kod i uruchamiać go za każdym razem, gdy napotkasz problem.


5

Miałem ten problem w Android Studio 2.3.

Po prostu ponownie uruchomiłem Android Studio i po tym mogłem wyczyścić bez reklamacji.


5

U mnie stało się to z powodu aktywnego procesu debugowania . Dlatego przed czyszczeniem lub przebudową upewnij się, że wszystkie aktywne procesy zostały usunięte. Aby potwierdzić sukces, wykonaj Invalidate Caches / Restart .


4

Miałem ten sam problem i to zadziałało:

  1. zamknij Android Studio.
  2. usuń katalog pośredników (dopóki Android Studio jest otwarty, tego katalogu nie można usunąć)
  3. otwórz ponownie Android Studio

4

Rozwiązałem poleceniem:

taskkill /F /IM java.exe

i wtedy:

gradle assembleDebug 

3

Rozwiązałem ten problem w moim ubuntu w ten sposób.

  1. Sprawdź procesy uruchomione w systemie (Ubuntu), takie jak w menedżerze zadań w systemie Windows.

    Polecenie terminala Ubuntu wyświetlające wszystkie uruchomione procesy ----> "gnome-system-monitor"

  2. Zakończ lub zakończ procesy JAVA i ANDROID na liście.

  3. Ponownie uruchom studio i zaimportuj projekt.

U mnie działa bez problemu. Mam nadzieję że to pomoże...

Myślałem, że to jest problem z procesem, który jest już utworzony i zduplikowany.


3

Mi pomaga, gdy Exit Android Studiokliknę jeszcze raz Clean Project(pojawia się ten sam błąd) i następne kliknięcie Make Project- po tym oczywiście Run 'app'przycisk w Android Studio.


3

Znajdź programy, które korzystały z folderu app / build / output / apk , a następnie po prostu usuń folder.

Myślę, że Android Studio musi usunąć stary folder apk przed przebudową.


3

Czasami półprodukty stwarza problem, więc usuń go i przebuduj projekt

LUB

po prostu uruchom polecenie cmd -> gradlew clean

w folderze twojego projektu w przestrzeni roboczej (to dla mnie praca)


2

Rozwiązanie jest dość łatwe.

To jedno z rozwiązań, które mi się sprawdziły.

Może się zdarzyć, że folder app / build / output / apk twojego projektu jest otwarty.

więc po prostu zamknij ten folder i odbuduj projekt. i zostanie rozwiązany.


tak miałem ten problem, był plik raportu, który jest zapisany w build / report / checkstyle.html, zamknięcie tego pliku rozwiązało mój problem, dzięki
— tamtom


2

Dla mnie winowajcą jest adb trzymający plik apk, ponieważ używam go do instalowania i uruchamiania aplikacji na moim fizycznym urządzeniu za pomocą wiersza poleceń.

Po prostu:

Menedżer zadań> Zakończ proces adb.exe

Następnie plik można usunąć, a projekt wyczyścić


2

reagują na rodzimych twórców

biegać

sudo cd android && ./gradlew clean

a jeśli chcesz zwolnić apk

sudo cd android && ./gradlew assembleRelease

Mam nadzieję, że to komuś pomoże


1

Jeśli testujesz z lokalnym zapleczem (serwlet java w lokalnym silniku aplikacji Google), uruchomiony proces blokuje niektóre pliki. Nie możesz więc wdrożyć na żywo. W tym przypadku możesz rozwiązać ten problem, zatrzymując lokalny backend przed rozpoczęciem czyszczenia lub kompilacji. Znajdziesz opcję w „Uruchom -> Zatrzymaj backend”.


1

W Android Studio 3.0 miałem ten sam problem. To naprawiło:

  1. Zamknij Studio
  2. Usuń projectRoot / build / i projectRoot / app / build /
  3. Uruchom ponownie Studio

1

Miałem ten sam problem po przeniesieniu projektu z dysku D: na G:, ale sprawdzenie dysku rozwiązało problem

Użyłem chkdsk / f / r / x G: ** tutaj zastosowano niektóre przełączniki wiersza poleceń: **

/ F Naprawia błędy na dysku

/ R Lokalizuje uszkodzone sektory i odzyskuje czytelne informacje (implikuje / F)

/ X Wymusza najpierw zejście woluminu, jeśli to konieczne (implikuje / F) (ważne)

Uwaga: / X jest ważny, ponieważ spowoduje odłączenie dysku i możesz ręcznie usunąć katalog kompilacji projektu,

teraz przebuduj projekt


To zadziałało. Dziękuję Ci! :) Ale zajęło to prawie 5 godzin. czas na ukończenie.
— Rohit Sharma

1

Właśnie rozwiązałem ten problem dla siebie.

Problem polegał na tym, że ktoś inny utworzył plik, więc mimo że mam uprawnienia administratora na komputerze, nie mogłem wprowadzać zmian w pliku lub plikach. Musisz przejść do właściwości pliku lub folderu i zmienić właściciela lub dodać własność. Ta strona internetowa wyjaśnia, krok po kroku, co należy zrobić.

Po wykonaniu powyższych czynności znalazłem plik w eksploratorze plików i ręcznie go rozpakowałem. Nie sądzę, aby był potrzebny w projekcie Android Studio, jeśli i tak próbował go usunąć.


1

Inną aplikacją, która może korzystać z zasobów, jest najwyraźniej Kotlin REPL systemu Android Studio. Zamknąłem to i bez problemu mogłem budować od nowa.


0

Ten problem pojawił się w stabilnym kanale Android Studio 2.0, a rozwiązanie było spowodowane problemem podczas aktualizacji mojego studia Android. Rozwiązałem go, instalując nowe studio Android. po usunięciu wszystkich starych plików ze starej instalacji. i zachować bardzo przyjemną funkcję Instant Run


0

jeśli nadal masz problemy, zaktualizuj do najnowszej wersji Android Studio (obecnie 2.1), może to być błąd ze starszą wersją Android Studio. Teraz to rozwiązane.


Występuje w wersji 2.2 Preview 1 dla mnie, więc nie sądzę, że jest naprawiony.
— Rohan Kandwal

0

Oczyszczenie projektu w Android Studio i ponowne uruchomienie rozwiązało problem. Można również wykonać „Make Project”.


0

Miałem ten sam problem i rozwiązałem go przenosząc folder projektu na partycję ext4


Tak, czytałem gdzie indziej, że system Android Studio / gradle / React Native / packager / watchman ma problemy (z jakiegoś powodu) w systemach plików NTFS.
— Venryx

0

Miałem ten sam błąd, próbowałem na wiele sposobów, ale rozwiązaniem działało dla mnie usunięcie folderów kompilacji z katalogów / android i / android / app.

bieg react-native run-androidzadziałał dla mnie.


0

Rozwiązałem to, przeszukując globalnie brakujący katalog w projekcie. następnie usuń wszystkie pliki zawierające to słowo kluczowe. może pomyślnie wyczyścić po ręcznym usunięciu wszystkich katalogów buildi .externalNativeBuild.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.