android – 错误:执行失败的任务’:app:clean’。无法删除文件

我试图重建我的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目录;
>从AS终端运行gradlew clean;
>手动将源代码复制到一个新项目(奇怪的是,它以某种方式持续跨项目…)

事情,我试过一点成功,但只让我执行一个更干净,重建之前错误再次出现:

>关闭AS,手动删除构建文件并再次打开它;
>在AS运行时杀死java.exe进程(这在技术上可以每次都进行,但是它很乏味,并且减慢了构建过程)

所以看来,编译Java进程可能会锁定在构建文件的某些原因,但它也可能是与Kotlin有关。我有一个(更成熟的)Java Android项目,我正在努力,虽然我不能重现这个错误,当清洁它。它似乎只发生在我的Kotlin项目。

有任何想法吗?

提前致谢。

更新:

我发现问题是由Kotlin Android插件造成的。当我从模块的build.gradle文件中删除apply plugin:’kotlin-android’时,问题消失,当我重新插入它时回来。随时提供任何洞察这一点。

更新2:

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

如果你使用Android Studio 2.0测试版,这个问题可能会出现(更有可能,如果你正在使用NTFS文件系统),似乎“即时运行”是罪魁祸首。在设置中搜索“即时运行”,并取消选中该框。

我已经在bug跟踪器上提交了一个issue

http://stackoverflow.com/questions/32914499/error-execution-failed-for-task-appclean-unable-to-delete-file

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:android – 错误:执行失败的任务’:app:clean’。无法删除文件