Errore: esecuzione non riuscita per l'attività ': app: clean'. Impossibile eliminare il file


166

Sto cercando di ricostruire il mio progetto Android Studio Gradle (contenente principalmente codice Kotlin), ma ha iniziato a lanciare un UnableToDeleteFileExceptiondurante il processo di pulizia / ricostruzione:

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

Questo è iniziato dopo che ho provato a cambiare la struttura del pacchetto del mio progetto. Sfortunatamente, l'ho fatto rinominando e spostando le cartelle di origine piuttosto che il refactoring tramite Android Studio, che è stata una cattiva idea.

Ho cercato una soluzione a questo problema tutto il giorno, e queste sono le cose che ho provato inutilmente:

  • Fare una sincronizzazione di Gradle;
  • Reinstallazione di Java JRE e Java SDK;
  • Reinstallazione dell'ultima versione di Android Studio (1.4);
  • Rollback alla versione AS precedente (1.3);
  • Invalidare la cache AS e riavviare;
  • Eliminazione delle directory gradlee .gradlenella directory del progetto;
  • Eliminazione della .gradledirectory nella mia directory utente;
  • In esecuzione gradlew cleandal terminale AS;
  • Copia manuale delle fonti in un nuovo progetto (strano che in qualche modo persista in tutti i progetti ...)

Cose che ho provato con un po 'di successo, ma fammi solo eseguire un altro clean e ricostruire prima che l'errore si ripeta:

  • Chiudere AS, cancellare manualmente i file di build e riaprirlo;
  • Uccidere il java.exeprocesso mentre AS è in esecuzione (questo potrebbe tecnicamente essere fatto ogni volta, ma è noioso e rallenta il processo di compilazione)

Quindi sembra che la compilazione del processo Java possa mettere un blocco sui file di build per qualche motivo, ma potrebbe anche avere a che fare con Kotlin. Ho un progetto (più maturo) per Android su cui sto lavorando, anche se non riesco a riprodurre questo errore durante la pulizia. Sembra accadere solo al mio progetto Kotlin.

Aggiornare:

Ho scoperto che il problema è stato causato dal plugin Android Kotlin. Il problema scompare quando rimuovo apply plugin: 'kotlin-android'dal build.gradlefile del modulo e ritorna quando lo reinserisco. Sentiti libero di offrire informazioni dettagliate in merito.

Aggiornamento 2:

L'ultimo aggiornamento non è la causa. Ho scoperto che se un progetto contiene un file Kotlin, la ricostruzione e la pulizia falliscono. Continua a fallire, anche se tutti i file di Kotlin vengono rimossi, fino a quando il processo Java in background viene interrotto, il che significa che ha un qualche tipo di blocco sui file di build. Ho inviato un bug qui con maggiori dettagli e passaggi per riprodurre il bug: KT-9440


3
invalidare la cache e riavviare studio dal menu file.
Mohammad Tauqir,

Ci avevo già provato, ma l'ho provato di nuovo per ogni evenienza. Ancora nessuna fortuna però.
Bryony,

Questo tipo di problema mi viene spesso in mente. se la prima opzione non ha funzionato, disconnettersi dal sistema e avviare studio dopo aver effettuato l'accesso.
Mohammad Tauqir,

2
Ho riavviato il mio PC e il problema persiste ancora. Grazie per l'aiuto però.
Bryony,

Risposte:


123

Se stai usando Android Studio 2.0 Beta, questo problema potrebbe apparire (più probabilmente se stai lavorando su un filesystem NTFS) e sembra che il colpevole sia "Instant Run". Cerca "Instant Run" nelle impostazioni e deseleziona la casella.

Ho presentato un problema sul tracker dei bug.


Sto usando sshfs. Lo stesso problema qui. La disabilitazione della corsa istantanea funziona per me.
Canzone

2
Sì, DISABLING INSTANT RUN Studio 2.0 beta 7 ha risolto questa eccezione
Yogesh Seralia,

1
Il mio Android Studio 2.0 era bloccato durante l'aggiornamento di un particolare progetto. Ho provato di tutto e ho seguito per sbaglio questa risposta, risolta da un problema diverso dalla domanda. Sono rimasto bloccato per così tanto tempo. Vorrei poterti votare più volte! Grazie
Rachita Nanda,

9
Questo ha funzionato per me. Nel caso in cui sia utile a qualcuno: Per disabilitare Instant Run nella versione 2.1 di Android Studio è File -> Impostazioni -> Build, Execution, Deployment -> Instant Run e quindi deseleziona la prima casella "Abilita Instant Run ...".
nickandross,

1
Sto usando AS v2.1.3. Nel mio caso, la casella "Instant Run" era già deselezionata, quindi l'ho controllato, applicato, Clean & Rebuid il progetto (l'errore era ancora lì) e poi deselezionato, applicato, Clean & Rebuid il progetto e l'errore era andato.
jose

114

Ho ucciso tutti i processi Java TM nel Task Manager e mi ha permesso di ricostruire


29
+1. Il processo Zombie Java era il problema. Se sei su Win 10, apri Task Manager; cercare binario Java (TM) Platform SE; Ultimo compito.
Alcuni studenti Noob il

26
In gradle --stopalternativa puoi usare per fermare tutti i demoni bloccati.
Jayson Minard,

1
C'è un modo automatico per uccidere i processi. Perdo molto tempo uccidendolo manualmente in ogni pulizia.
AvatarQing,

Nel mio caso, c'era una combinazione aperta (strumento di confronto e unione) che stava bloccando la cartella da pulire
Armando,

nel mio caso non ho trovato Java TM, quindi ho riavviato Windows
Dasser Basyouni il

41

Prova File -> Cache non valide e riavvia

Questo ha funzionato per me


La "cache non valida e il riavvio" rendono Android Studio bloccato nel PC Windows 8. Sto usando Android Studio 2.2.2. Posso usare questa funzione a tutti. Qualcuno ha una soluzione giusta per questo ?.
Nithinjith,

File -> Invalidate Caches and Restart funziona ma richiede così tanto tempo che non è OK. Il problema di base dei malfunzionamenti dei privilegi dei file Win10 è arrivato per me aggiornando all'SDK 27 (ho accettato il messaggio di aggiornamento). E dopo lo stesso aggiornamento l'AS piange per NDK 15 ma c'è solo un NDK14 disponibile, imposta la compilazione gradle compilare SDK su 26 e non piange. Sembra che siamo tra due generazioni qui ?? In Win10 x64 ci sono anche problemi con gli emulatori che hanno bisogno di cancellare i dati per essere riutilizzati. Sembra un sacco di dettagli da risolvere?
Jan Bergström,

30

Dopo aver pubblicato una segnalazione di bug nel tracker dei bug di Kotlin, mi è stato comunicato il numero 61300 sul tracker AOSP. Questa sembra essere la causa. Dato che al momento non posso fare nulla, contrassegnerò questa domanda come risposta e aggiornerò la risposta se il bug è stato corretto.

Nel frattempo, se stai utilizzando Windows, credo di aver trovato una soluzione alternativa. Dovrai scaricare LockHunter ( ovviamente a tuo rischio), quindi aggiungere quanto segue al gradle.buildfile del tuo modulo , sostituendo la lockhuntervariabile con il tuo percorso a LockHunter.exe:

task clean(type: Exec) {
    ext.lockhunter = '\"C:\\LockHunter.exe\"'
    def buildDir = file(new File("build"))
    commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}

Questo fa sì che LockHunter sblocchi in modo forzato e silenzioso ed elimini i file di build quando viene eseguita l'attività app: clean.


Ho risolto il problema con questo ma non sono riuscito a fare lo stesso per l'esecuzione dell'app. Ricevi ancora lo stesso errore. Hai qualche idea; forse cambi il pulito con qualcos'altro?
codiac

Errore: (21, 0) Non è consentito dichiarare attività 'clean' personalizzate quando si utilizzano i plug-in del ciclo di vita Gradle standard.
Shashwat Gupta,

26

Pulisci il progetto dal Terminale usando questo comando gradlew clean.

inserisci qui la descrizione dell'immagine


2
Digitando il comando sopra è iniziato un download, decomprimere e installare, che ha richiesto del tempo. Successivamente, questa soluzione ha funzionato per me.
Dale,

Ci sono voluti 11 minuti per completare l'operazione, ma sembra funzionare. Un punto nel tempo consente di risparmiare nove. Questa dovrebbe essere la risposta accettata.
mwieczorek,

Sono su Ubuntu ho eseguito il gradlew come indicato sopra ma non ha funzionato .. :(. Comando non trovato.
Abhijit Gujar

1
@AbhijitGujar Dovresti ./gradlew cleaninvece provare Ubuntu. ( gradlew
Eseguirà

7
./gradlew cleannon ha risolto questo problema per me. Ha mostrato di nuovo lo stesso errore, cioè "impossibile eliminare la directory"
abggcv,

12

L'eliminazione della directory intermediatesè una soluzione rapida per il problema.

La directory verrà ricostruita al momento della ricostruzione del progetto.


1
Ho provato a eliminare la directory dei intermedi, ma Windows mi dice che non posso eliminare la directory. Strano.
tronman,

Ha funzionato per me su uno dei progetti, ma non su un altro :(
abggcv,

7

Stavo riscontrando lo stesso problema nell'anteprima 1 di Android Studio 2.2, la soluzione di @AndresSuarez era corretta ma per alcuni motivi non sono riuscito a trovare il processo JAVA TM nel mio task manager. Quindi ho provato la seguente soluzione e ha funzionato:

Apri il prompt dei comandi e digita TASKKILL /F /IM java.exe. Ciò ucciderà automaticamente tutti i processi JAVA TM. Ora ricompila nuovamente l'app, funzionerà.

Inoltre, puoi creare un file .bat , aggiungere il codice sopra riportato ed eseguirlo ogni volta che affronti il ​​problema.


5

Ho avuto questo problema in Android Studio 2.3.

Ho semplicemente riavviato Android Studio e successivamente ho potuto pulire senza lamentele.


5

Per me, questo è successo a causa di un processo di debug attivo . Quindi, prima di pulire o ricostruire, assicurati di uccidere tutti i processi attivi. Per inchiodare il successo, eseguire Cache / Riavvio non validi .


4

Ho avuto lo stesso problema e questo ha funzionato per me:

  1. chiudi Android Studio.
  2. elimina la directory intermedia (finché Android Studio è aperto, questa directory non può essere eliminata)
  3. apri di nuovo Android Studio

4

Ho risolto con il comando:

taskkill /F /IM java.exe

e poi:

gradle assembleDebug 

3

Ho risolto questo nel mio Ubuntu in questo modo.

  1. Controlla i processi in esecuzione nel tuo sistema (Ubuntu) come in Task Manager in Windows.

    Comando terminale Ubuntu per elencare tutti i processi in esecuzione ----> "gnome-system-monitor"

  2. Termina o termina i processi JAVA e ANDROID nell'elenco.

  3. Inizia di nuovo lo studio e importa il progetto.

Funziona per me senza problemi. Spero che questo ti aiuti...

Ho pensato che questo fosse il problema con il processo che è già stato creato e duplicato.


3

Per me aiuta quando faccio Exit Android Studioclic una volta di più Clean Project(appare lo stesso errore) e il clic successivo Make Project- dopo quello ovviamente il Run 'app'pulsante in Android Studio.


3

Trova i programmi che hanno utilizzato la cartella app / build / output / apk , quindi elimina la cartella.

Penso che Android Studio debba eliminare la vecchia cartella apk prima di ricostruire.


3

Alcune volte gli intermedi creano problemi, quindi eliminali e ricostruisci il progetto

O

esegui semplicemente il comando cmd -> gradlew clean

nella cartella del progetto nello spazio di lavoro (funziona per me)


2

La soluzione è abbastanza semplice

Questa è una delle soluzioni che ha funzionato per me.

Potrebbe essere possibile aprire la cartella app / build / output / apk del progetto .

quindi basta chiudere questa cartella e ricostruire il progetto. e sarà risolto.


sì, ho riscontrato questo problema, c'era un file di report che è stato salvato in build / report / checkstyle.html, la chiusura di questo file ha risolto il mio problema, grazie
tamtom


2

Per me, il colpevole è l' adb trattenendo il file apk poiché lo utilizzo per installare e avviare l'applicazione sul mio dispositivo fisico attraverso la riga di comando.

Quindi semplicemente:

Task Manager> Termina processo adb.exe

E quindi il file è libero di essere eliminato e il progetto può essere pulito


2

reagire agli sviluppatori nativi

correre

sudo cd android && ./gradlew clean

e se vuoi rilasciare apk

sudo cd android && ./gradlew assembleRelease

Spero che possa aiutare qualcuno


1

Se stai testando con un backend locale (servlet java sul motore di app google locale) il processo in esecuzione blocca alcuni file. Quindi non sei in grado di distribuire in tempo reale. Quindi in questo caso puoi risolverlo arrestando il backend locale prima di iniziare clean o build. Puoi trovare l'opzione sotto "Esegui -> Interrompi back-end".


1

In Android Studio 3.0, ho avuto lo stesso problema. Questo risolto:

  1. Chiudi Studio
  2. Elimina projectRoot / build / e projectRoot / app / build /
  3. Riavvia Studio

1

Ho avuto lo stesso problema dopo aver spostato il mio progetto da D: a G: unità ma il controllo del disco ha risolto il mio problema

Ho usato chkdsk / f / r / x G: ** qui sono state utilizzate alcune opzioni della riga di comando: **

/ F Corregge gli errori sul disco

/ R Individua i settori danneggiati e recupera le informazioni leggibili (implica / F)

/ X Forza prima lo smontaggio del volume, se necessario (implica / F) (importante)

Nota: / X è importante perché smonterà l'unità ed è possibile eliminare manualmente la directory di generazione del progetto,

ora ricostruisci il progetto


Questo ha funzionato. Grazie! :) Ma ci sono volute quasi 5 ore. tempo di completare.
Rohit Sharma,

1

Ho appena risolto questo preciso problema per me stesso.

Il problema era che qualcun altro aveva creato il file, quindi anche se ho i diritti di amministratore sul computer, non sono stato in grado di apportare modifiche al file o ai file. Devi andare nelle proprietà del file o della cartella e cambiare la proprietà o aggiungere la proprietà. Questa pagina web spiega bene, passo dopo passo, cosa devi fare.

Una volta fatto quanto sopra, ho trovato il file in Esplora file e l'ho estratto manualmente. Non penso che sia necessario nel progetto Android Studio se tentasse comunque di eliminarlo.


1

Un'altra applicazione che può utilizzare le risorse è apparentemente Kotlin REPL di Android Studio. L'ho chiuso e quindi non ho potuto ricostruire nessun problema.


0

Questo problema mi è apparso nel canale stabile di Android Studio 2.0 e la soluzione era dovuta a un problema che si verificava durante l'aggiornamento del mio Android Studio. Ho risolto questo problema installando un nuovo Android Studio. dopo aver eliminato tutti i vecchi file per la vecchia installazione. e per mantenere la bella funzionalità di Instant Run


0

se hai ancora problemi, aggiorna all'ultima versione di Android Studio (la sua 2.1 a partire da ora), potrebbe essere stato un bug con la versione precedente di Android Studio. È risolto per me adesso.


Si verifica in anteprima 1 2.2 per me, quindi non penso che sia stato risolto.
Rohan Kandwal,

0

La pulizia del progetto in Android Studio e l'esecuzione di nuovo hanno risolto il problema. Può anche essere "Crea progetto".


0

Ho avuto lo stesso problema e l'ho risolto spostando la cartella del progetto nella partizione ext4


Sì, ho letto altrove che il sistema Android Studio / gradle / React Native / packager / watchman ha dei problemi (per qualche ragione) sui file system NTFS.
Venryx,

0

Ho avuto lo stesso errore, ho provato diversi modi ma la soluzione ha funzionato per me era eliminare le cartelle di build dalle directory / android e / android / app.

la corsa ha react-native run-androidfunzionato per me.


0

L'ho risolto cercando a livello globale la directory mancante nel progetto. quindi eliminare tutti i file contenenti quella parola chiave. può pulire correttamente dopo aver rimosso manualmente tutte le directory builde .externalNativeBuild.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.