webentwicklung-frage-antwort-db.com.de

Fehler: Ausführung fehlgeschlagen für Task ': app: clean'. Datei kann nicht gelöscht werden

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-Synchronisierung durchführen;
  • Neuinstallation von Java JRE und Java SDK
  • Neuinstallation der neuesten Version von Android Studio (1.4);
  • Zurückkehren zur vorherigen AS-Version (1.3);
  • AS-Cache ungültig machen und neu starten;
  • Löschen der Verzeichnisse gradle und .gradle im Projektverzeichnis;
  • .gradle-Verzeichnis in meinem Benutzerverzeichnis löschen;
  • gradlew clean vom AS-Terminal aus ausführen;
  • Manuelles Kopieren der Quellen in ein neues Projekt (seltsam, dass es bei Projekten irgendwie bestehen bleibt ...)

Dinge, die ich mit ein wenig Erfolg ausprobiert habe, aber lassen Sie mich erst noch einmal sauber und rekonstruieren, bevor der Fehler erneut auftritt:

  • AS schließen, manuell die Build-Dateien löschen und erneut öffnen;
  • Beenden des 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.

Aktualisieren:

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.

Update 2:

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

131
Bryony

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.

25
Bryony

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.

113
Irfan

Ich habe alle Java TM -Prozesse im Task-Manager abgebrochen und konnte mich neu erstellen

94
Andres Suarez

Versuchen Datei -> Caches ungültig machen und neu starten

Das hat bei mir funktioniert

27
Cloy

Reinigen Sie das Projekt mit dem Befehl 'gradlew clean' von Terminal aus.

 enter image description here

19

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.

12
DeaMon1

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.

4
Rohan Kandwal

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.

3

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)

3
Chetan Joshi

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.

3
Mete

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.

3
y07k2

Ich hatte dieses Problem in Android Studio 2.3.

Ich habe Android Studio einfach neu gestartet und konnte danach ohne Beschwerden reinigen.

3
Johan Lund

Ich habe dieses in meinem Ubuntu so gelöst.

  1. 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"

  2. Beenden oder beenden Sie die Java- und Android-Prozesse in der Liste.

  3. Starten Sie das Studio erneut und importieren Sie das Projekt.

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.

2
HariPrasad

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.

2
Mehul

Ich hatte das gleiche Problem und das funktionierte für mich:

  1. schließen Sie Android Studio.
  2. zwischenverzeichnis löschen (solange Android Studio geöffnet ist, kann dieses Verzeichnis nicht gelöscht werden)
  3. Öffnen Sie Android Studio erneut 
2
M. Chavoshi

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.

2
Jose Gómez

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.

1
Eltaf

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

1
benallansmith

Ich löste mit Befehl:

taskkill /F /IM Java.exe

und dann:

gradle assembleDebug 
1
Rick

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.

1
Adam Higgins

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".

1
Tino

Das Bereinigen des Projekts in Android Studio und erneutes Ausführen des Problems wurde behoben. Möglicherweise machen Sie auch "Make Project".

0
sofs1

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

0
Farouk Benarous

Ich hatte das gleiche Problem und habe es gelöst, indem ich den Projektordner in die ext4-Partition verschoben habe

0

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.

0
RAM

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.

0
wdanxna

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.

0
adithya reddy

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.

0
Ishant Sagar

In Android Studio 3.0 hatte ich das gleiche Problem. Das hat es behoben:

  1. Schließen Sie Studio
  2. Löschen Sie projectRoot/build/und projectRoot/app/build /
  3. Starten Sie Studio neu
0
Joseph Bani

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.

0
Atef Farouk

das, was für mich funktionierte, war, Visual Studio-Code zu schließen und es wieder zu öffnen

0
MSD

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 

0
Mohamed