错误:执行任务’: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,更多的细节和步骤来重现错误: KT-9440

  • Handler的post在Kotlin里是不行的,怎么了?
  • Firestore与Firebase的离线问题
  • kotlin是function性的还是程序性的?
  • androidTest uiautomator库中的突然未解决的参考
  • msg:在数据绑定中找不到属性“android:text”的值types为java.lang.String的getter?
  • 当使用kotlin找不到文件时,如何从URL.readText()中获取错误
  • Kotlin中的Room Persistence lib实现
  • Firebase连接在Kotlin上创建用户错误
  • 24 Solutions collect form web for “错误:执行任务’:app:clean’失败。 无法删除文件”

    如果您使用的是Android Studio 2.0 Beta,则可能会出现此问题(如果您正在使用NTFS文件系统,则可能会出现此问题),并且“即时运行”似乎是罪魁祸首。 在设置中搜索“即时运行”并取消选中该框。

    我已经提交了一个bug跟踪器的问题 。

    我杀死了任务管理器中的所有java TM进程,并让我重建

    在我向Kotlin错误跟踪器发布了一个错误报告之后,我收到了AOSP跟踪器发出的61300问题通知。 这似乎是原因。 由于目前我无能为力,因此我将这个问题标记为已回答,如果问题得到解决,我会更新答案。

    同时,如果你正在运行Windows,我相信我find了一个解决方法。 您需要下载LockHunter (当然,风险自负),然后将以下内容添加到您的模块的gradle.build文件中,将lockhuntervariables替换为lockhunter的路径:

     task clean(type: Exec) { ext.lockhunter = '\"C:\\LockHunter.exe\"' def buildDir = file(new File("build")) commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir } 

    这会导致LockHunter在应用程序:clean任务运行时强制静默解锁并删除构建文件。

    使用这个命令“gradlew clean”从终端清理项目。

    在这里输入图像说明

    尝试文件 – >使缓存失效并重新启动

    这对我有效

    删除目录intermediates可以快速解决问题。

    重建项目时将重建该目录。

    对于我来说,当我Exit Android Studio时会有所帮助,再单击一次Clean Project (出现同样的错误),然后点击Make Project – 然后在Android Studio中Run 'app'按钮。

    find使用app / build / outputs / apk文件夹的程序,然后删除文件夹。

    我认为Android Studio必须在重建之前删除旧的apk文件夹。

    有时中间产生的问题,所以删除它和重建项目

    要么

    只需运行cmd命令 – > gradlew clean

    在你的项目文件夹中的工作空间(其工作对我来说)

    我在Android Studio 2.3中遇到了这个问题。

    我只是重新启动Android Studio,之后我可以清理没有投诉。

    解决方案很简单。

    这是为我工作的解决方案之一。

    你的项目的app / build / outputs / apk文件夹可能被打开。

    所以只要关闭这个文件夹并重建你的项目。 这将得到解决。

    我在Android Studio 2.2预览版1上遇到同样的问题,@AndresSuarez的解决方案是正确的,但由于某些原因,我无法在任务管理器中findJAVA TM进程。 所以我试了下面的解决方案,它的工作原理 –

    打开命令提示符并键入TASKKILL /F /IM java.exe 。 这将自动终止所有的JAVA TM进程。 现在重新编译应用程序,它将工作。

    另外,您可以创建一个.bat文件,在其中添加上面的代码,并在每次遇到问题时运行它。

    如错误报告中所建议的 ,取消注释该行

     idea.jars.nocopy=false 

    idea.properties文件已经解决了我的问题。

    请注意,这需要每次Android Studio更新时完成。

    我在我的Ubuntu下解决了这个问题。

    1. 检查系统中运行的进程(Ubuntu),如在Windows任务管理器中。

      Ubuntu终端命令列出所有正在运行的进程—->“gnome-system-monitor”

    2. 终止或结束列表中的JAVA和ANDROID进程。

    3. 再次启动工作室和导入项目。

    它对我的作品没有任何问题。 希望这可以帮助…

    我认为这是已经创建和重复的过程的问题。

    如果您正在使用本地后端(本地Google应用程序引擎上的java servlet)进行测试,则正在运行的进程会阻止某些文件。 所以你不能够部署。 所以在这种情况下,您可以通过在开始清理或构建之前停止本地后端来解决此问题。 您可以在“运行 – >停止后端”下find该选项。

    这个问题出现在我的android studio 2.0稳定的渠道和解决方案是由于更新我的android工作室时,我通过安装一个新的android工作室解决这个问题。 删除旧的安装的所有旧文件后。 并保持即时运行的非常好的function

    如果您仍然遇到问题,请升级到最新版本的Android Studio(截至目前的2.1版本),可能是旧版Android Studio的一个缺陷。 现在解决了我。

    在Android studio中清理项目并再次运行解决了这个问题。 也可以做“做项目”。

    我有同样的问题,我解决了通过移动项目文件夹到ext4分区

    我有同样的错误,尝试了多种方式,但解决方案为我工作是从/ android和/ android / app目录中删除生成文件夹。

    运行react-native run-android为我工作。

    我通过全局搜索项目中缺少的目录来解决这个问题。 然后删除包含该关键字的任何文件。 在我手动删除所有build.externalNativeBuild目录后,它可以成功清理。

    我正在使用Android Studio 3.0 Beta 7.清理项目,使缓存失效,重新开始工作室没有工作,但更新Kotlin版本到1.1.51和重新工作室解决了这个问题对我来说。

    我有同样的问题,这对我工作:

    1. 关闭Android Studio。
    2. 删除中间目录(只要Android Studio打开,这个目录不能被删除)
    3. 再次打开Android Studio

    对我来说,这是因为一个积极的调试过程 。 所以,在清理或重建之前,一定要杀死所有活动的进程。 要确定成功执行Invalidate Cashes / Restart

    Kotlin language will be the best programming language for Android.