Ich versuche, mein Android Studio Gradle-Projekt (das hauptsächlich Kotlin-Code enthält) neu zu erstellen, aber es begann während des Bereinigungs-/Wiederherstellungsprozesses eine UnableToDeleteFileException
zu werfen:
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 geschah, als ich versuchte, die Paketstruktur meines Projekts zu ändern. Leider habe ich es getan, indem ich die Quellordner umbenannt und verschoben habe, anstatt über Android Studio umzuwandeln, 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
und .gradle
im Projektverzeichnis;.gradle
-Verzeichnis in meinem Benutzerverzeichnis löschen;gradlew clean
vom AS-Terminal aus ausführen;Dinge, die ich mit ein wenig Erfolg ausprobiert habe, aber lassen Sie mich erst noch einmal sauber und rekonstruieren, bevor der Fehler erneut auftritt:
Java.exe
-Prozesses, während AS ausgeführt wird (dies kann technisch jedes Mal durchgeführt werden, ist jedoch langwierig und verlangsamt den Erstellungsprozess)Es scheint also, dass das Kompilieren des Java-Prozesses aus irgendeinem Grund die Build-Dateien sperren könnte, aber es könnte auch etwas mit Kotlin zu tun haben. Ich habe ein (reiferes) Java-Android-Projekt, an dem ich gerade arbeite, obwohl ich diesen Fehler beim Reinigen nicht reproduzieren kann. Es scheint nur bei meinem Kotlin-Projekt zu passieren.
Irgendwelche Ideen?
Danke im Voraus.
Ich habe festgestellt, dass das Problem durch das Kotlin Android-Plugin verursacht wird. Das Problem verschwindet, wenn ich apply plugin: 'kotlin-Android'
aus der build.gradle
-Datei des Moduls entferne und beim erneuten Einfügen wieder erscheint. Fühlen Sie sich frei, um einen Einblick in dieses zu geben.
Das letzte Update ist nicht die Ursache. Wenn ein Projekt eine Kotlin-Datei enthält, schlägt der Neuaufbau und die Bereinigung fehl. Es schlägt weiterhin fehl, auch wenn alle Kotlin-Dateien entfernt wurden, bis der Hintergrund-Java-Prozess beendet wird, was bedeutet, dass die Build-Dateien auf irgendeine Weise gesperrt sind. Ich habe hier einen Fehler mit weiteren Details und Schritten zum Reproduzieren des Fehlers eingereicht: KT-9440
Nachdem ich einen Fehlerbericht an den Kotlin Bug Tracker gesendet hatte, wurde ich über Ausgabe 61300 auf dem AOSP Tracker informiert. Das scheint die Ursache zu sein. Da ich momentan nichts tun kann, markiere ich diese Frage als beantwortet und werde die Antwort aktualisieren, wenn der Fehler behoben ist.
Wenn Sie Windows verwenden, glaube ich, dass ich in der Zwischenzeit eine Problemumgehung gefunden habe. Sie müssen LockHunter (auf eigenes Risiko natürlich) herunterladen und dann der gradle.build
-Datei Ihres Moduls hinzufügen, wobei Sie die Variable lockhunter
durch Ihren Pfad zu LockHunter.exe ersetzen:
task clean(type: Exec) {
ext.lockhunter = '\"C:\\LockHunter.exe\"'
def buildDir = file(new File("build"))
commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}
Dies bewirkt, dass LockHunter die Build-Dateien zwangsweise und unbeaufsichtigt entsperrt und löscht, wenn die Task app: clean ausgeführt wird.
Wenn Sie Android Studio 2.0 Beta verwenden, wird dieses Problem möglicherweise angezeigt (wahrscheinlicher, wenn Sie mit NTFS-Dateisystem arbeiten) und es scheint, als sei der "Instant Run" die Ursache. Suchen Sie in den Einstellungen nach "Instant Run" und deaktivieren Sie das Kontrollkästchen.
Ich habe eine Ausgabe auf dem Bug-Tracker eingereicht.
Ich habe alle Java TM -Prozesse im Task-Manager abgebrochen und konnte mich neu erstellen
Versuchen Datei -> Caches ungültig machen und neu starten
Das hat bei mir funktioniert
Das Löschen des Verzeichnisses intermediates
ist eine schnelle Lösung für Probleme.
Das Verzeichnis wird neu erstellt, wenn das Projekt neu erstellt wird.
Ich war mit demselben Problem in Android Studio 2.2 Preview 1 konfrontiert, die Lösung von @AndresSuarez war korrekt, aber aus einigen Gründen konnte ich keinen Java TM -Prozess in meinem Task-Manager finden. Also habe ich die folgende Lösung ausprobiert und es hat funktioniert -
Öffnen Sie command Prompt und geben Sie TASKKILL /F /IM Java.exe
ein. 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 oben genannten Code hinzufügen und bei jedem Auftreten des Problems ausführen.
Für mich ist dies auf einen aktiven aktiven Debugging-Prozess zurückzuführen. Bevor Sie bereinigen oder neu erstellen, müssen Sie daher alle aktiven Prozesse beenden. Um den Erfolg festzulegen, führen Sie Invalidate Cashes/Restart aus.
In manchen Fällen erstellt ein Zwischenprodukt ein Problem. Löschen Sie es und erstellen Sie ein neues Projekt
OR
führen Sie einfach den Befehl cmd aus -> gradlew clean
in Ihrem Projektordner im Arbeitsbereich (seine Arbeit für mich)
Suchen Sie nach Programmen, die den Ordner app/build/output/apk verwendet haben, und löschen Sie den Ordner.
Ich denke, dass Android Studio den alten apk-Ordner vor dem Wiederaufbau löschen muss.
Für mich ist es hilfreich, wenn ich Exit Android Studio
einmal auf Clean Project
klicke (es erscheint der gleiche Fehler) und dann auf Make Project
klicken - danach natürlich Run 'app'
in Android Studio.
Ich hatte dieses Problem in Android Studio 2.3.
Ich habe Android Studio einfach neu gestartet und konnte danach ohne Beschwerden reinigen.
Ich habe dieses in meinem Ubuntu so gelöst.
Prüfen Sie, ob die Prozesse in Ihrem System (Ubuntu) wie im Task-Manager in Windows ausgeführt werden.
Ubuntu-Terminalbefehl 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.
Die Lösung ist ziemlich einfach.
Dies ist eine der Lösungen, die für mich funktioniert haben.
Es kann möglich sein, dass Ihr Projekt app/build/output/apk Ordner ist geöffnet.
schließen Sie einfach diesen Ordner und erstellen Sie Ihr Projekt neu. und es wird gelöst.
Ich hatte das gleiche Problem und das funktionierte für mich:
Wie im Fehlerbericht vorgeschlagen , Kommentar der Zeile
idea.jars.nocopy=false
in der idea.properties
-Datei hat das Problem für mich gelöst.
Beachten Sie, dass dies bei jeder Aktualisierung von Android Studio erforderlich ist.
Ich hatte den gleichen Fehler und versuchte mehrere Wege, aber die Lösung funktionierte für mich, Build-Ordner aus den Verzeichnissen/Android und/Android/app zu löschen.
run react-native run-Android
arbeitete für mich.
Für mich ist der Schuldige adb , der sich auf die apk-Datei bezieht, da ich sie dazu benutze, die Anwendung auf meinem physischen Gerät über die Befehlszeile zu installieren und zu starten.
Also einfach so:
Task-Manager> Prozess beenden adb.exe
Dann kann die Datei gelöscht werden und das Projekt kann bereinigt werden
Ich löste mit Befehl:
taskkill /F /IM Java.exe
und dann:
gradle assembleDebug
Ich habe gerade 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 Ihnen 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 Studio-Projekt Android benötigt wird, wenn es trotzdem versucht hat, es zu löschen.
Wenn Sie mit einem lokalen Backend (Java-Servlet auf der lokalen Google App Engine) testen, blockiert der laufende Prozess einige Dateien. Sie können also keine Bereitstellung durchführen. In diesem Fall können Sie dies beheben, indem Sie das lokale Backend stoppen, bevor Sie mit clean oder build beginnen. Die Option finden Sie unter "Run -> Stop Backend".
Das Bereinigen des Projekts in Android Studio und erneutes Ausführen des Problems wurde behoben. Möglicherweise machen Sie auch "Make Project".
einfache Lösung:
wenn Sie in Android oder bei anderen Jetbrains-Produkten auf klicken, finden Sie "Cache ungültig machen und neu starten". Klicken Sie darauf und alle Probleme werden behoben
Ich hatte das gleiche Problem und habe es gelöst, indem ich den Projektordner in die ext4-Partition verschoben habe
Ich hatte das gleiche Problem, nachdem ich mein Projekt von D: auf G: Laufwerk Verschoben hatte. Die Festplattenüberprüfung löste jedoch mein Problem
Ich habe chkdsk/f/r/x G verwendet: ** Hier wurden einige Befehlszeilenschalter 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 deinstalliert wird (impliziert/F) (wichtig).
Hinweis:/X ist wichtig, da die Bereitstellung des Laufwerks aufgehoben wird und Sie das Verzeichnis build Ihres Projekts manuell löschen können.
jetzt das Projekt neu aufbauen
In meinem Fall verwendete node.js
einige Ressourcen im Build-Ordner (meine App in reactnative
). Also habe ich node.js
getötet und es gelöst.
Ich löste es, indem ich das fehlende Verzeichnis im Projekt global durchsuchte. 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.
Ich verwende Android Studio 3.0 Beta 7. Clean Project, Caches ungültig machen, Studio neu starten hat nicht funktioniert, aber das Update der Kotlin-Version auf 1.1.51 und das Neustarten von Studio hat dieses Problem für mich gelöst.
wenn Sie immer noch Probleme haben, dann aktualisieren Sie auf die neueste Version von Android Studio (ab Version 2.1). Möglicherweise war dies ein Fehler mit der älteren Version von Android Studio. Es ist jetzt für mich gelöst.
In Android Studio 3.0 hatte ich das gleiche Problem. Das hat es behoben:
Meine Lösung dafür war sehr einfach (wenn Sie Windows verwenden). 1- Schließen Sie Android Studio. 2. Führen Sie Android Studio als Administrator aus.
das, was für mich funktionierte, war, Visual Studio-Code zu schließen und es wieder zu öffnen
Dieses Problem erschien mir in einem stabilen Kanal für Android Studio 2.0. Die Lösung war auf ein Problem beim Aktualisieren meines Android-Studios zurückzuführen. Ich habe dieses Problem gelöst, indem ich ein neues Android-Studio installiert habe. nach dem Löschen aller alten Dateien für die alte Installation. und um die sehr schöne Funktion von Instant Run zu erhalten