Android Studio Gradle projemi (çoğunlukla Kotlin kodu içeren) yeniden oluşturmaya çalışıyorum, ancak UnableToDeleteFileException
temizleme / yeniden oluşturma işlemi sırasında bir atmaya başladı :
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
Bu, projemin paket yapısını değiştirmeye çalıştıktan sonra olmaya başladı. Ne yazık ki, kötü bir fikir olan Android Studio ile yeniden düzenleme yerine kaynak klasörlerini yeniden adlandırarak ve taşıyarak yaptım.
Bütün gün bu soruna bir çözüm arıyordum ve bunlar boşuna denediğim şeyler:
- Gradle senkronizasyonu yapma;
- Java JRE ve Java SDK'yı yeniden yükleme;
- Android Studio'nun (1.4) en son sürümünü yeniden yükleme;
- Önceki AS sürümüne (1.3) geri dönme;
- AS önbelleğini geçersiz kılma ve yeniden başlatma;
- Proje dizinindeki
gradle
ve.gradle
dizinlerinin silinmesi ; - Kullanıcı dizinimdeki
.gradle
dizini silme ; - Çalıştırma
gradlew clean
AS terminalden; - Kaynakları el ile yeni bir projeye kopyalamak (projelerde bir şekilde devam etmesi garip ...)
Biraz başarılı bir şekilde denediğim şeyler, ancak hata tekrar oluşmadan önce sadece bir tane daha temiz ve yeniden oluşturmama izin verin:
- AS'yi kapatma, derleme dosyalarını el ile silme ve yeniden açma;
java.exe
AS çalışırken süreci öldürmek (teknik olarak her seferinde yapılabilir, ancak sıkıcıdır ve oluşturma işlemini yavaşlatır)
Bu nedenle, Java sürecinin derlenmesi bir sebepten dolayı derleme dosyalarına kilit koyabilir, ancak Kotlin ile de ilgili olabilir. Temizlerken bu hatayı yeniden oluşturamama rağmen, üzerinde çalıştığım (daha olgun) bir Java Android projem var. Görünüşe göre sadece Kotlin projemde oluyor.
Güncelleme:
Sorunun Kotlin Android eklentisinden kaynaklandığını gördüm. apply plugin: 'kotlin-android'
Modül build.gradle
dosyasından kaldırdığımda sorun kayboluyor ve yeniden taktığımda geri geliyor. Bununla ilgili herhangi bir fikir vermekten çekinmeyin.
Güncelleme 2:
Son güncelleme bunun nedeni değil. Bir proje bir Kotlin dosyası içeriyorsa, yeniden inşa etmenin ve temizlemenin başarısız olduğunu buldum. Tüm Kotlin dosyaları kaldırılsa bile, arka plan Java işlemi öldürülene kadar başarısız olmaya devam eder, yani yapı dosyalarında bir çeşit kilit vardır. Burada daha fazla ayrıntı ve hatayı yeniden oluşturmak için adımlar içeren bir hata gönderdim: KT-9440