Estoy tratando de reconstruir mi proyecto Android Studio Gradle (que contiene principalmente el código de Kotlin), pero comenzó a lanzarse UnableToDeleteFileException
durante el proceso de limpieza / reconstrucción:
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
Esto comenzó a suceder después de que intenté cambiar la estructura del paquete de mi proyecto. Desafortunadamente, lo hice renombrando y moviendo las carpetas de origen en lugar de refactorizar a través de Android Studio, lo cual fue una mala idea.
He estado buscando una solución a este problema todo el día, y estas son las cosas que he intentado en vano:
- Haciendo una sincronización Gradle;
- Reinstalar Java JRE y Java SDK;
- Reinstalar la última versión de Android Studio (1.4);
- Volviendo a la versión anterior de AS (1.3);
- Invalidar el caché AS y reiniciar;
- Eliminar los directorios
gradle
y.gradle
en el directorio del proyecto; - Eliminar el
.gradle
directorio en mi directorio de usuario; - Ejecutando
gradlew clean
desde el terminal AS; - Copiar manualmente las fuentes a un nuevo proyecto (extraño que de alguna manera persista en los proyectos ...)
Cosas que he intentado con un poco de éxito, pero solo me permiten realizar una limpieza más y reconstruir antes de que vuelva a ocurrir el error:
- Cerrar AS, eliminar manualmente los archivos de compilación y volver a abrirlo;
- Matar el
java.exe
proceso mientras AS se está ejecutando (esto podría hacerse técnicamente cada vez, pero es tedioso y ralentiza el proceso de compilación)
Por lo tanto, parece que compilar el proceso Java puede bloquear los archivos de compilación por alguna razón, pero también podría tener algo que ver con Kotlin. Tengo un proyecto Java Android (más maduro) en el que estoy trabajando, aunque no puedo reproducir este error al limpiarlo. Parece que solo le sucede a mi proyecto Kotlin.
Actualizar:
Descubrí que el problema está siendo causado por el complemento de Android Kotlin. El problema desaparece cuando lo apply plugin: 'kotlin-android'
elimino del build.gradle
archivo del módulo y vuelve cuando lo vuelvo a insertar. Siéntase libre de ofrecer cualquier idea sobre esto.
Actualización 2:
La última actualización no es la causa. Descubrí que si un proyecto contiene un archivo Kotlin, la reconstrucción y la limpieza fallan. Continúa fallando, incluso si se eliminan todos los archivos de Kotlin, hasta que se elimine el proceso Java en segundo plano, lo que significa que tiene algún tipo de bloqueo en los archivos de compilación. Envié un error aquí con más detalles y pasos para reproducir el error: KT-9440