Ich versuche, mein Android Studio Gradle-Projekt (das hauptsächlich Kotlin-Code enthält) neu zu erstellen, aber es hat UnableToDeleteFileException
während des Reinigungs- / Wiederherstellungsprozesses Folgendes ausgelöst:
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
Dies begann, nachdem ich versucht hatte, die Paketstruktur meines Projekts zu ändern. Leider habe ich die Quellordner umbenannt und verschoben, anstatt sie über Android Studio umzugestalten, was eine schlechte Idee war.
Ich habe den ganzen Tag nach einer Lösung für dieses Problem gesucht, und dies sind die Dinge, die ich erfolglos versucht habe:
- Gradle-Synchronisierung durchführen;
- Neuinstallation von Java JRE und Java SDK;
- Neuinstallation der neuesten Version von Android Studio (1.4);
- Zurücksetzen auf die vorherige AS-Version (1.3);
- Ungültigmachen des AS-Cache und Neustart;
- Löschen der Verzeichnisse
gradle
und.gradle
im Projektverzeichnis; - Löschen des
.gradle
Verzeichnisses in meinem Benutzerverzeichnis; - Laufen
gradlew clean
vom AS-Terminal; - Manuelles Kopieren der Quellen in ein neues Projekt (seltsam, dass es irgendwie projektübergreifend bestehen bleibt ...)
Dinge, die ich mit ein wenig Erfolg versucht habe, aber nur noch einmal bereinigen und neu erstellen lassen, bevor der Fehler erneut auftritt:
- Schließen von AS, manuelles Löschen der Build-Dateien und erneutes Öffnen;
- Beenden des
java.exe
Prozesses, während AS ausgeführt wird (dies könnte technisch jedes Mal durchgeführt werden, ist jedoch langwierig und verlangsamt den Erstellungsprozess)
Es scheint also, dass das Kompilieren des Java-Prozesses die Build-Dateien aus irgendeinem Grund sperrt, aber möglicherweise auch mit Kotlin zu tun hat. Ich habe ein (ausgereifteres) Java-Android-Projekt, an dem ich arbeite, obwohl ich diesen Fehler beim Bereinigen nicht reproduzieren kann. Es scheint nur meinem Kotlin-Projekt zu passieren.
Aktualisieren:
Ich habe festgestellt, dass das Problem durch das Kotlin Android-Plugin verursacht wird. Das Problem verschwindet, wenn ich es apply plugin: 'kotlin-android'
aus der Moduldatei entferne, build.gradle
und tritt wieder auf, wenn ich es erneut einfüge. Fühlen Sie sich frei, einen Einblick in diese zu geben.
Update 2:
Das letzte Update ist nicht die Ursache. Ich habe festgestellt, dass die Neuerstellung und Bereinigung fehlschlägt, wenn ein Projekt eine Kotlin-Datei enthält. Es schlägt weiterhin fehl, selbst wenn alle Kotlin-Dateien entfernt wurden, bis der Hintergrund-Java-Prozess beendet wird, was bedeutet, dass die Build-Dateien gesperrt sind. Ich habe hier einen Fehler mit weiteren Details und Schritten zur Reproduktion des Fehlers eingereicht: KT-9440
Antworten:
Wenn Sie Android Studio 2.0 Beta verwenden, tritt dieses Problem möglicherweise auf (wahrscheinlicher, wenn Sie am NTFS-Dateisystem arbeiten), und es scheint, dass der "Sofortlauf" der Schuldige ist. Suchen Sie in den Einstellungen nach "Instant Run" und deaktivieren Sie das Kontrollkästchen.
Ich habe ein Problem im Bug-Tracker eingereicht .
quelle
Ich habe alle Java TM -Prozesse im Task-Manager beendet und konnte sie neu erstellen
quelle
gradle --stop
alle stecken Daemons als Alternative zu stoppen.Versuchen Sie Datei -> Caches ungültig machen und neu starten
Das hat bei mir funktioniert
quelle
Nachdem ich einen Fehlerbericht an den Kotlin-Fehler-Tracker gesendet hatte , wurde ich über das Problem 61300 auf dem AOSP-Tracker informiert. Das scheint die Ursache zu sein. Da ich momentan nichts tun kann, werde ich diese Frage als beantwortet markieren und die Antwort aktualisieren, wenn der Fehler behoben ist.
Wenn Sie Windows verwenden, habe ich in der Zwischenzeit eine Problemumgehung gefunden. Sie müssen LockHunter herunterladen ( natürlich auf eigenes Risiko), dann Folgendes zur
gradle.build
Datei Ihres Moduls hinzufügen und dielockhunter
Variable durch Ihren Pfad zu LockHunter.exe ersetzen:Dies führt dazu, dass LockHunter die Build-Dateien zwangsweise und stillschweigend entsperrt und löscht, wenn die Aufgabe app: clean ausgeführt wird.
quelle
Bereinigen Sie das Projekt mit diesem Befehl vom Terminal
gradlew clean
.quelle
./gradlew clean
stattdessen Ubuntu ausprobieren . (Es wird diegradlew
ausführbare Datei aus dem Projektverzeichnis ausgeführt.)./gradlew clean
hat dieses Problem für mich nicht gelöst. Es zeigte den gleichen Fehler erneut, dh "Verzeichnis kann nicht gelöscht werden"Das Löschen des Verzeichnisses
intermediates
ist eine schnelle Lösung für das Problem.Das Verzeichnis wird neu erstellt, wenn das Projekt neu erstellt wird.
quelle
Ich hatte das gleiche Problem mit Android Studio 2.2 Preview 1, die Lösung von @AndresSuarez war korrekt, aber aus bestimmten Gründen konnte ich den JAVA TM -Prozess in meinem Task-Manager nicht finden. Also habe ich die folgende Lösung ausprobiert und es hat funktioniert -
Öffnen Sie die Eingabeaufforderung und geben Sie ein
TASKKILL /F /IM java.exe
. Dadurch werden alle JAVA TM -Prozesse automatisch beendet. Jetzt kompilieren Sie die App erneut, es wird funktionieren.Darüber hinaus können Sie eine .bat- Datei erstellen , den obigen Code hinzufügen und jedes Mal ausführen, wenn Sie auf das Problem stoßen.
quelle
Ich hatte dieses Problem in Android Studio 2.3.
Ich habe Android Studio einfach neu gestartet und konnte danach ohne Beschwerden reinigen.
quelle
Ich hatte das gleiche Problem und das hat bei mir funktioniert:
quelle
Ich löste mit Befehl:
und dann:
quelle
Für mich geschah dies aufgrund eines aktiven Debugging-Prozesses . Stellen Sie daher vor dem Reinigen oder Wiederherstellen sicher, dass alle aktiven Prozesse abgebrochen werden. Führen Sie Invalidate Caches / Restart aus , um den Erfolg zu bestimmen .
quelle
Ich habe dieses Problem in meinem Ubuntu so gelöst.
Überprüfen Sie, ob in Ihrem System (Ubuntu) Prozesse ausgeführt werden, wie im Task-Manager in Windows.
Ubuntu Terminal Befehl zum Auflisten aller laufenden Prozesse ----> "gnome-system-monitor"
Beenden oder beenden Sie die JAVA- und ANDROID-Prozesse in der Liste.
Es funktioniert für mich ohne Probleme. Hoffe das hilft...
Ich dachte, dies ist das Problem mit dem Prozess, der bereits erstellt und dupliziert wurde.
quelle
Für mich hilft es, wenn ich
Exit Android Studio
noch einmal klickeClean Project
(es erscheint der gleiche Fehler) und dann weiter klickeMake Project
- danach natürlich dieRun 'app'
Schaltfläche in Android Studio.quelle
Suchen Sie nach Programmen, die den Ordner app / build / output / apk verwendet haben , und löschen Sie dann einfach den Ordner.
Ich denke, Android Studio muss alten apk-Ordner löschen, bevor er neu erstellt wird.
quelle
Manchmal verursachen Zwischenprodukte Probleme. Löschen Sie sie und erstellen Sie das Projekt neu
ODER
Führen Sie einfach den Befehl cmd aus -> gradlew clean
in Ihrem Projektordner im Arbeitsbereich (seine Arbeit für mich)
quelle
Die Lösung ist ganz einfach.
Dies ist eine der Lösungen, die für mich funktioniert hat.
Schließen Sie einfach diesen Ordner und erstellen Sie Ihr Projekt neu. und es wird gelöst.
quelle
Wie im Fehlerbericht vorgeschlagen , kommentieren Sie die Zeile aus
in der
idea.properties
Datei hat das Problem für mich gelöst.Beachten Sie, dass dies jedes Mal durchgeführt werden muss, wenn Android Studio aktualisiert wird.
quelle
Für mich ist der Schuldige, dass adb an der apk-Datei festhält, da ich sie zum Installieren und Starten der Anwendung auf meinem physischen Gerät über die Befehlszeile verwende.
Also einfach:
Anschließend kann die Datei gelöscht und das Projekt möglicherweise bereinigt werden
quelle
reagieren native Entwickler
Lauf
und wenn du apk veröffentlichen willst
Hoffe es wird jemandem helfen
quelle
Wenn Sie mit einem lokalen Backend (Java-Servlet in der lokalen Google App Engine) testen, blockiert der ausgeführte Prozess einige Dateien. Sie können also nicht live bereitstellen. In diesem Fall können Sie dieses Problem lösen, indem Sie das lokale Backend stoppen, bevor Sie mit dem Bereinigen oder Erstellen beginnen. Die Option finden Sie unter "Ausführen -> Backend stoppen".
quelle
In Android Studio 3.0 hatte ich das gleiche Problem. Dies hat es behoben:
quelle
Ich hatte das gleiche Problem, nachdem ich mein Projekt von D: auf G: -Laufwerk verschoben hatte, aber die Festplattenprüfung löste mein Problem
Ich habe chkdsk / f / r / x G verwendet: ** hier wurden einige Kommandozeilenschalter verwendet: **
/ F Behebt Fehler auf der Festplatte
/ R Findet fehlerhafte Sektoren und stellt lesbare Informationen wieder her (impliziert / F)
/ X Erzwingt, dass das Volume bei Bedarf zuerst abmontiert wird (impliziert / F) (wichtig)
Hinweis: / X ist wichtig, da dadurch die Bereitstellung des Laufwerks aufgehoben wird und Sie das Erstellungsverzeichnis Ihres Projekts manuell löschen können.
Jetzt das Projekt neu erstellen
quelle
Ich habe genau dieses Problem für mich gelöst.
Das Problem war, dass jemand anderes die Datei erstellt hatte. Obwohl ich Administratorrechte auf dem Computer habe, konnte ich keine Änderungen an der Datei oder den Dateien vornehmen. Sie müssen in die Eigenschaften der Datei oder des Ordners gehen und den Besitz ändern oder den Besitz hinzufügen. Diese Webseite erklärt Schritt für Schritt, was Sie tun müssen.
Nachdem ich das oben genannte getan hatte, fand ich die Datei im Datei-Explorer und extrahierte sie manuell. Ich glaube nicht, dass es im Android Studio-Projekt benötigt wird, wenn es trotzdem versucht hat, es zu löschen.
quelle
Dieses Problem erschien mir im stabilen Kanal von Android Studio 2.0 und die Lösung war auf ein Problem zurückzuführen, das beim Aktualisieren meines Android Studios aufgetreten ist. Ich habe dieses Problem durch die Installation eines neuen Android Studios gelöst. nach dem Löschen aller alten Dateien für die alte Installation. und um die sehr schöne Funktion von Instant Run beizubehalten
quelle
Wenn Sie immer noch Probleme haben, aktualisieren Sie auf die neueste Version von Android Studio (ab sofort 2.1). Möglicherweise lag ein Fehler mit der älteren Version von Android Studio vor. Es ist jetzt für mich gelöst.
quelle
Das Problem wurde behoben, indem das Projekt in Android Studio bereinigt und erneut ausgeführt wurde. Kann auch "Make Project" machen.
quelle
Ich hatte das gleiche Problem und löste es, indem ich den Projektordner in die ext4-Partition verschob
quelle
Ich hatte den gleichen Fehler, habe mehrere Möglichkeiten ausprobiert, aber die Lösung für mich bestand darin, Build-Ordner aus den Verzeichnissen / android und / android / app zu löschen.
Laufen
react-native run-android
hat für mich funktioniert.quelle
Ich habe es gelöst, indem ich das fehlende Verzeichnis im Projekt global durchsucht habe. Löschen Sie dann alle Dateien, die dieses Schlüsselwort enthalten. Es kann erfolgreich bereinigt werden, nachdem ich alle Verzeichnisse
build
und.externalNativeBuild
manuell entfernt habe.quelle
Ich verwende Android Studio 3.0 Beta 7. Clean Project, Caches ungültig machen, Studio neu starten hat nicht funktioniert, aber das Aktualisieren der Kotlin-Version auf 1.1.51 und das Neustarten von Studio haben dieses Problem für mich gelöst.
quelle