Saya mencoba untuk membangun kembali proyek Android Studio Gradle saya (kebanyakan berisi kode Kotlin), tetapi mulai membuang UnableToDeleteFileException
selama proses pembersihan / pembangunan kembali:
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
Ini mulai terjadi setelah saya mencoba mengubah struktur paket proyek saya. Sayangnya, saya melakukannya dengan mengganti nama dan memindahkan folder sumber daripada refactoring melalui Android Studio, yang merupakan ide yang buruk.
Saya telah mencari solusi untuk masalah ini sepanjang hari, dan ini adalah hal-hal yang saya coba tidak berhasil:
- Melakukan sinkronisasi Gradle;
- Menginstal ulang Java JRE dan Java SDK;
- Menginstal ulang Android Studio versi terbaru (1.4);
- Kembali ke versi AS sebelumnya (1.3);
- Memvalidasi cache AS dan memulai kembali;
- Menghapus
gradle
dan.gradle
direktori dalam direktori proyek; - Menghapus
.gradle
direktori di direktori pengguna saya; - Berjalan
gradlew clean
dari terminal AS; - Secara manual menyalin sumber ke proyek baru (aneh bahwa entah bagaimana itu bertahan di seluruh proyek ...)
Hal-hal yang saya coba dengan sedikit sukses, tetapi hanya biarkan saya melakukan satu lagi bersih dan membangun kembali sebelum kesalahan terjadi lagi:
- Menutup AS, menghapus file build secara manual, dan membukanya lagi;
- Membunuh
java.exe
proses saat AS sedang berjalan (ini secara teknis bisa dilakukan setiap saat, tapi itu membosankan dan memperlambat proses pembangunan)
Jadi sepertinya mengkompilasi proses Java dapat membuat kunci pada file build untuk beberapa alasan, tetapi mungkin juga ada hubungannya dengan Kotlin. Saya memiliki proyek Java Android (yang lebih matang) yang sedang saya kerjakan, meskipun saya tidak dapat mereproduksi kesalahan ini saat membersihkannya. Tampaknya hanya terjadi pada proyek Kotlin saya.
Memperbarui:
Saya telah menemukan bahwa masalahnya disebabkan oleh plugin Android Kotlin. Masalahnya hilang ketika saya menghapus apply plugin: 'kotlin-android'
dari file modul build.gradle
dan kembali ketika saya masukkan kembali. Jangan ragu untuk menawarkan wawasan apa pun tentang hal ini.
Pembaruan 2:
Pembaruan terakhir bukan penyebabnya. Saya menemukan bahwa jika suatu proyek berisi file Kotlin maka pembangunan kembali dan pembersihan gagal. Itu terus gagal, bahkan jika semua file Kotlin dihapus, sampai proses latar belakang Java dimatikan, berarti ia memiliki semacam kunci pada file build. Saya mengirimkan bug di sini dengan rincian lebih lanjut dan langkah-langkah untuk mereproduksi bug: KT-9440