最佳答案
我正在尝试重建我的 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
和 .gradle
目录;.gradle
目录;gradlew clean
;我已经尝试了一些成功的方法,但是只让我在错误再次发生之前再执行一次清理和重新构建:
java.exe
进程(这在技术上每次都可以做到,但是这很繁琐并且会减慢构建过程)因此,由于某种原因,编译 Java 过程可能会锁定构建文件,但它也可能与 Kotlin 有关。我有一个(更成熟的) JavaAndroid 项目,我正在工作,虽然我不能重现这个错误时,清理它。这似乎只发生在我的科特林项目上。
我发现这个问题是由 Kotlin Android 插件引起的。当我从模块的 build.gradle
文件中删除 apply plugin: 'kotlin-android'
并重新插入它时,问题就消失了。请随意提供任何关于这方面的见解。
最后一次更新不是原因。我发现,如果一个项目包含一个 Kotlin 文件,那么重建和清理就会失败。即使所有的 Kotlin 文件被删除,它仍然会继续失败,直到后台 Java 进程被关闭,这意味着它对 build 文件有某种锁定。我在这里提交了一个 bug,其中包含了更多细节和重现该 bug 的步骤: KT-9440