当前位置: 首页 > 知识库问答 >
问题:

错误:任务“:app:clean”执行失败。无法删除文件

罗安宁
2023-03-14

我正在尝试重建我的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进行重构来做到的,这是一个坏主意。

我一整天都在寻找这个问题的解决方案,而这些都是我尝试过的没有效果的东西:

  • 执行分级同步;
  • 重新安装Java JRE和Java SDK;
  • 重新安装最新版本的Android Studio(1.4);
  • 回滚到上一个版本(1.3);
  • 使AS缓存无效并重新启动;
  • 删除项目目录中的gradle.gradle目录;
  • 正在删除我的用户目录中的.gradle目录;
  • 从AS终端运行gradlew clean
  • 手动将源复制到一个新项目(奇怪的是,它会在多个项目之间持续存在...)
  • 关闭为,手动删除生成文件,然后再次打开;
  • 在AS运行时终止java.exe进程(技术上可以每次都这样做,但这很繁琐,会减慢构建过程)

因此,compile the Java process可能会出于某种原因对构建文件加锁,但这也可能与Kotlin有关。我有一个(更成熟的)Java Android项目,我正在工作,尽管我不能在清理它时重现这个错误。似乎只发生在我的Kotlin项目上。

我发现这个问题是由Kotlin Android插件造成的。当我从模块的build.gradle文件中删除apply plugin:'kotlin-android'时,问题就消失了,当我重新插入它时,问题又回来了。请随意提供对此的任何见解。

上次更新不是原因。我发现如果一个项目包含一个Kotlin文件,那么重建和清理就会失败。即使删除了所有Kotlin文件,它也会继续失败,直到后台Java进程被杀死,这意味着它对构建文件有某种锁。我在这里提交了一个bug,其中有更多的细节和重现bug的步骤:KT-9440

共有1个答案

段超
2023-03-14

如果您使用的是Android Studio2.0测试版,那么这个问题可能会出现(如果您使用的是NTFS文件系统,那么这个问题就更有可能出现),而且“即时运行”似乎是罪魁祸首。在设置中搜索“即时运行”并取消选中该框。

我已经提交了一个关于窃听器的问题。

 类似资料: