Android 安卓工作室我不断收到Gradle错误“;该进程无法访问该文件,因为另一进程正在使用该文件;

Android 安卓工作室我不断收到Gradle错误“;该进程无法访问该文件,因为另一进程正在使用该文件;,android,android-studio,gradle,Android,Android Studio,Gradle,我可以导入一个示例应用程序项目,尝试构建它,但我不断收到此错误。不总是相同的文件,但每次都有一个新的临时文件。我试过几种不同的样品。我已经做了30多年的编程,觉得自己完全不知所措。唯一的线索似乎是Windows任务管理器在给出错误并结束构建时显示99%到100%的CPU使用率。执行此操作 文件->使缓存无效/重新启动..->无效/重新启动只需清理项目并运行!它将工作….项目文件夹中“app/build”目录中的所有文件。这将修复错误。在Windows 8上发生这种情况时,我会打开任务管理器 并

我可以导入一个示例应用程序项目,尝试构建它,但我不断收到此错误。不总是相同的文件,但每次都有一个新的临时文件。我试过几种不同的样品。我已经做了30多年的编程,觉得自己完全不知所措。唯一的线索似乎是Windows任务管理器在给出错误并结束构建时显示99%到100%的CPU使用率。

执行此操作


文件->使缓存无效/重新启动..->无效/重新启动

只需清理项目并运行!它将工作….

项目文件夹中“app/build”目录中的所有文件。这将修复错误。

在Windows 8上发生这种情况时,我会打开任务管理器


并简单地杀死“openjdk平台二进制文件”的所有实例

我也有同样的问题。即使我尝试了这里提到的所有解决方案,它也不起作用。即使我在运行android studio管理模式时也无法删除登录文件。我在IDE update gradle pluggin的右下角看到一个通知。因此update gradle pluggin通常对我有效。我也有同样的问题,在我的情况下,它是到期的到多个Java运行时(JRE)。在android studio中尝试在JRE之间切换,或者只使用一个Java运行时

希望它能解决这个问题。快乐编码


仅使IDE缓存无效是不够的

  • 删除文件夹
    app\build
  • 使缓存无效/重新启动
    上下文:在Android检测测试中使用协同路由


    GL

    使缓存失效/重新启动并非始终有效,关闭整个Android Studio并不是更好的主意,只是我们无法确定使用它的进程

    请按照以下步骤确定哪个进程正在使用您的文件

    您可以为此使用Windows 7、8和10内置的资源监视器

  • 打开资源监视器,可以找到 通过在“开始”菜单中搜索资源监视器或resmon.exe,或 作为任务管理器中“性能”选项卡上的按钮
  • 转到CPU选项卡
  • 使用关联句柄部分中的搜索字段
  • 找到句柄后,可以通过查看Image和/或PID列来识别进程

    然后,您可以尝试按正常方式关闭应用程序,或者,如果不可能,只需右键单击句柄并直接从此处终止进程


    参考:

    我在建造或清理项目时多次遇到这种情况 解决方案很简单:

  • 打开特定目录
  • 关闭Android Studio
  • 删除特定目录
  • 现在运行Android Studio

  • 我在安装android studio时安装了2个jre。卸载您在控制面板中找到的一个,它位于c:\program files\java等位置


    在android studio 4.0+的下一次打开时,它将返回到“C:\Program Files\android\android studio\jre”,并且每次成功构建后进程锁定将停止

    如果错误再次出现,您可以尝试使用文件泄漏检测器来确定gradle进程的哪个部分保存了您的文件。正如建议的那样

  • 下载

  • 与resmon一起检查文件的保存进程

  • 根据文件锁定的位置,执行以下操作:

    • Android Studio:在Studio中,转到
      Help
      → <代码>编辑自定义虚拟机选项并添加以下行:

      -javaagent:path/to/file-leak-detector.jar=http=19999
      
      org.gradle.jvmargs=-javaagent:path/to/file-leak-detector.jar=http=19999
      
    • Gradle:将以下行添加到Gradle.properties文件中:

      -javaagent:path/to/file-leak-detector.jar=http=19999
      
      org.gradle.jvmargs=-javaagent:path/to/file-leak-detector.jar=http=19999
      
  • 当问题再次出现时,在浏览器中打开
    localhost:19999
    ,搜索锁定的文件


  • 在我的例子中,我发现AspectJ编译器/weaver(ajc)持有一个文件:

    我不知道是否有可能让ajc发布这些文件。所以我通过在一个单独的进程中运行来解决我的问题。我添加了一个新配置以将aspectjtools放到类路径上:

    val编织:按配置配置。创建
    依赖关系{
    编织(“org.aspectj:aspectjtools:1.9.6”)
    }
    
    而不是上面的代码,我做了:

    javaexec{
    类路径=编织
    main=“org.aspectj.tools.ajc.main”
    args=参数
    }
    
    Kill任务“openjdk平台二进制文件”对我有效

    尝试删除文件(生成器消息中的文件夹) 消息将包含进程名称(我不记得名称)
    在任务管理器中找到进程并停止它

    您可以在另一台计算机上调试吗?这对这台计算机来说是一个新问题吗(意思是以前是否在这台计算机上安装了Android Studio并能够成功构建,或者您从未成功构建过它)?包含您的JDK和Android Studio版本可能会有所帮助。显然,某些内容被锁定,可能是一个文件或网络端口,例如gradle守护进程使用的端口。请发布错误消息和周围的生成日志详细信息。还可以尝试重新启动,因为这将释放其他进程和其他Windows状态。重新启动后,它是否工作一次?重复?重新启动,尝试,相同类型的错误。卸载与Android Studio有关的所有内容,从developer.Android.com下载最新捆绑包,安装它,使用Android示例ActionBarCompat样式创建新项目,它自动尝试构建项目,我得到了一个类似的错误:请参阅下一步,了解实际错误消息7:54:56 PM Gradle sync开始于7:55:00 PM Gradle sync失败:C:\Users\bewert\.Gradle\caches\2.14.1\scripts remapped\asLocalRepo404\U 39k6fuo680j1lkxpf4phfc2zr\EAPMO6ILX21T7XDAU0AMJGN\init57408229\classes\asLocalRepo404\U 39K6FUO680LKF4PHFC2ZR$\U run\U closure1$\U closure1$\CLOSURE24.class(该进程无法访问该文件,因为另一进程正在使用该文件)找到解决方案了吗?Bec