Android Studio Gradle プロジェクト (主に Kotlin コードを含む) を再構築しようとしていますがUnableToDeleteFileException
、クリーニング/再構築プロセス中にスローされ始めました:
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
これは、プロジェクトのパッケージ構造を変更しようとした後に発生し始めました。残念ながら、Android Studio を使用してリファクタリングするのではなく、ソース フォルダーの名前を変更して移動することでこれを行いましたが、これは悪い考えでした。
私は一日中この問題の解決策を探していましたが、これらは役に立たなかったものです:
- Gradle 同期を実行します。
- Java JRE および Java SDK の再インストール。
- Android Studio (1.4) の最新バージョンを再インストールします。
- 以前の AS バージョン (1.3) にロールバックします。
- AS キャッシュを無効にして再起動します。
- プロジェクト ディレクトリのディレクトリ
gradle
とディレクトリを削除します。.gradle
.gradle
ユーザー ディレクトリのディレクトリを削除します。gradlew clean
AS 端末から実行します。- ソースを新しいプロジェクトに手動でコピーする (プロジェクト間で何らかの形で保持されるのは奇妙です...)
私が試して少し成功したことはありますが、エラーが再び発生する前に、もう一度クリーンアップと再構築を実行できます。
- AS を閉じ、ビルド ファイルを手動で削除し、再度開きます。
- ASの
java.exe
実行中にプロセスを強制終了します (これは技術的には毎回行うことができますが、面倒であり、ビルド プロセスが遅くなります)。
そのため、Java プロセスをコンパイルすると、何らかの理由でビルド ファイルがロックされる可能性があるようですが、それは Kotlin にも関係している可能性があります。私が取り組んでいる (より成熟した) Java Android プロジェクトがありますが、クリーニング時にこのエラーを再現することはできません。私のKotlinプロジェクトでのみ発生するようです。
アップデート:
この問題は Kotlin Android プラグインが原因であることがわかりました。apply plugin: 'kotlin-android'
モジュールのbuild.gradle
ファイルから削除すると問題はなくなり、再挿入すると元に戻ります。これについての洞察を自由に提供してください。
更新 2:
最後の更新が原因ではありません。プロジェクトに Kotlin ファイルが含まれていると、再構築とクリーニングが失敗することがわかりました。すべての Kotlin ファイルが削除されたとしても、バックグラウンドの Java プロセスが強制終了されるまで失敗し続けます。つまり、ビルド ファイルに何らかのロックがかかることを意味します。バグを再現するための詳細と手順を記載したバグをここに送信しました: KT-9440