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