Próbuję odbudować mój projekt Android Studio Gradle (zawierający głównie kod Kotlin), ale zaczął wyrzucać UnableToDeleteFileException
podczas 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
gradle
i w.gradle
katalogu projektu; - Usuwanie
.gradle
katalogu w moim katalogu użytkownika; - Bieganie
gradlew clean
z 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.exe
procesu 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.gradle
pliku 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
Odpowiedzi:
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.
źródło
Zabiłem wszystkie procesy java TM w menedżerze zadań i pozwoliło mi to odbudować
źródło
gradle --stop
Alternatywnie możesz użyć do zatrzymania zablokowanych demonów.Spróbuj File -> Invalidate Caches and Restart
To zadziałało dla mnie
źródło
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.build
pliku swojego modułu , zastępująclockhunter
zmienną ścieżką do LockHunter.exe:Powoduje to, że LockHunter wymusza i dyskretnie odblokowuje i usuwa pliki kompilacji, gdy uruchomione jest zadanie app: clean.
źródło
Wyczyść projekt z terminala za pomocą tego polecenia
gradlew clean
.źródło
./gradlew clean
Ubuntu. (Uruchomigradlew
plik wykonywalny z katalogu projektu.)./gradlew clean
nie rozwiązało za mnie tego problemu. Ponownie pokazał ten sam błąd, tj. „Nie można usunąć katalogu”Usunięcie katalogu
intermediates
to szybkie rozwiązanie problemu.Katalog zostanie odbudowany po odbudowaniu projektu.
źródło
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.
źródło
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.
źródło
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 .
źródło
Miałem ten sam problem i to zadziałało:
źródło
Rozwiązałem poleceniem:
i wtedy:
źródło
Rozwiązałem ten problem w moim ubuntu w ten sposób.
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"
Zakończ lub zakończ procesy JAVA i ANDROID na liście.
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.
źródło
Mi pomaga, gdy
Exit Android Studio
kliknę jeszcze razClean Project
(pojawia się ten sam błąd) i następne kliknięcieMake Project
- po tym oczywiścieRun 'app'
przycisk w Android Studio.źródło
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ą.
źródło
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)
źródło
Rozwiązanie jest dość łatwe.
To jedno z rozwiązań, które mi się sprawdziły.
więc po prostu zamknij ten folder i odbuduj projekt. i zostanie rozwiązany.
źródło
Jak zasugerowano w zgłoszeniu błędu , odkomentowanie linii
w
idea.properties
pliku rozwiązało problem za mnie.Należy pamiętać, że należy to robić za każdym razem, gdy aktualizuje się Android Studio.
źródło
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:
Następnie plik można usunąć, a projekt wyczyścić
źródło
reagują na rodzimych twórców
biegać
a jeśli chcesz zwolnić apk
Mam nadzieję, że to komuś pomoże
źródło
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”.
źródło
W Android Studio 3.0 miałem ten sam problem. To naprawiło:
źródło
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
źródło
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ąć.
źródło
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.
źródło
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
źródło
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.
źródło
Oczyszczenie projektu w Android Studio i ponowne uruchomienie rozwiązało problem. Można również wykonać „Make Project”.
źródło
Miałem ten sam problem i rozwiązałem go przenosząc folder projektu na partycję ext4
źródło
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-android
zadziałał dla mnie.źródło
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
build
i.externalNativeBuild
.źródło