Sto cercando di ricostruire il mio progetto Android Studio Gradle (contenente principalmente codice Kotlin), ma ha iniziato a lanciare un UnableToDeleteFileException
durante 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
gradle
e.gradle
nella directory del progetto; - Eliminazione della
.gradle
directory nella mia directory utente; - In esecuzione
gradlew clean
dal 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.exe
processo 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.gradle
file 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