它目前正由另一个Gradle实例使用

Dha*_*eem 70 gradle android-gradle-plugin

我是Gradle构建系统的新手.我想做一些基本的功能.我在命令行中运行/构建它.我指的是用户指南.而且,做一些简单的任务.

当我开始运行简单任务时,它已成功构建.但是,经过一段时间,它正在显示"It is currently in use by another Gradle instance"并成为BUILD FAILED.我正在使用终端来运行任务.那时我没有跑任何东西.

如果我关闭产生错误的终端,这个问题就会解决.但是,我知道这不是解决方案.

为什么这个错误频繁发生?

怎么解决?

并且,请参考任何链接以提高我对Android中Gradle Build系统的了解.

The*_*ger 191

通过执行以下操作删除gradle缓存中的锁定文件:

    find ~/.gradle -type f -name "*.lock" -delete
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!在我另外运行`find /path-to-project-dir/.gradle -type f -name"*.lock"|后,它工作了.读取f; 做rm $ f; done` (9认同)
  • 今天我回到了这个问题,这次除了删除锁文件之外,我还需要“杀死-9”一个进程。问题标题中的消息紧随其后是PID:_出了什么问题:超时等待锁定任务历史记录缓存(,,,)。当前,另一个Gradle实例正在使用它。所有者PID:4354我们的PID:9500_ (3认同)
  • 感谢您分享该命令,在删除 gradle 的锁定文件之前和之后,我从未遇到过这个问题,我能够再次运行我的服务器。这应该被标记为“最佳答案” (2认同)

Ros*_*ick 27

我遇到了这个错误,不得不吹走我的用户.gradle/caches/文件夹的内容和我项目.gradle/文件夹的内容再次开始.

不确定是什么导致它,可能是一个失败的构建,使这些文件保持锁定状态?

  • 实际上我只是删除了〜/ .gradle/caches/*而没有触及项目的.gradle目录. (3认同)

tah*_*amv 13

有时您需要在每次构建错误后运行此代码几次

对我来说,首先需要两次,我得到锁定错误,我运行此代码,然后再次得到另一个文件的锁定错误,所以我再次运行代码,最后它正常工作。

find ~/.gradle -type f -name "*.lock" -delete
Run Code Online (Sandbox Code Playgroud)


Cod*_*ife 8

在窗户上。在Android Studio中打开终端窗口(用于在项目的根文件夹中启动)并输入

 .\gradlew --stop
Run Code Online (Sandbox Code Playgroud)

我的回复:

Welcome to Gradle 7.3.3!

Here are the highlights of this release:
 - Easily declare new test suites in Java projects
 - Support for Java 17
 - Support for Scala 3

For more details see https://docs.gradle.org/7.3.3/release-notes.html

Stopping Daemon(s)
1 Daemon stopped
Run Code Online (Sandbox Code Playgroud)

现在它可以像以前一样构建和运行


Ahm*_*avi 7

只需杀死 java.exe 进程即可解决我的问题。

- 编辑 -

如果未修复,则:

  • 杀死 OpenJdkPlatform 进程。

如果未修复,则:

  • 从 .gradle 目录和子目录(windows:C:\Users\Username\.gradle)中删除所有“.lock”文件

如果未修复,则:

  • 重命名或删除 .gradle 目录并重试。

  • 你确定只是删除 .gradle 目录吗?删除 .gradle 必须对您的应用程序代码没有任何副作用。它只是 gradle 缓存,如果您再次编译您的应用程序。gradle 将下载必要的文件。尝试干净的构建。 (2认同)

PYK*_*PYK 6

有时,快速的方式会带来不雅的交易,我们去了:

首先找到正在运行的所有gradle进程的#个

ps -A | grep gradle
Run Code Online (Sandbox Code Playgroud)

之后,获取ID,一一杀死

sudo kill -9 <process ID>
Run Code Online (Sandbox Code Playgroud)

现在你很好;-)

  • 也可以执行 `gradle --stop` (3认同)

sas*_*oar 6

Gradle 失败消息通常后跟相关的进程 ID,所以它会是

Gradle sync failed: Timeout waiting to lock daemon addresses registry [...].
It is currently in use by another Gradle instance.

Owner PID: 1234
Our PID: 5678
Owner Operation: ...
Run Code Online (Sandbox Code Playgroud)

为了解锁,只需杀死所有者进程:

sudo kill -9 1234
Run Code Online (Sandbox Code Playgroud)


Hir*_*tel 6

我可能会迟到,但看起来是快速有效的解决方案。

执行以下步骤。

  1. 执行ps -ef | grep gradle
  2. 打开终端并移动到~/.gradle/caches路径
  3. 执行find ~/.gradle -type f -name "*.lock" | while read f; do rm $f; done
  4. 从 Android studio 中删除.gradle文件夹。.idea

完成。


Vin*_*tti 6

对于 MAC 机器

请打开“活动监视器”并选择“内存”选项并强制安静 Android Studio 和其他正在运行的 Java 进程,它将解决此问题。


Jus*_*tin 5

这可能是因为存在多个Android Studio实例而导致的。


Yog*_*Yog 5

对于Windows机器:

打开任务管理器(Ctrl-Alt-Delete并检查进程)

->如果您运行两个Android Studio实例,请关闭一个(结束任务)

->然后关闭OpenJDK Platform Binary

-> Gradle现在可以在AndroidStudio上同步,并且现在可以正常使用


Sea*_*ayn 5

我在 mac 上也遇到了同样的问题:

请注意,您的项目不在外部硬盘上。您的项目位置必须位于操作系统所在的硬盘上。

(构建 Ionic 应用程序)


小智 5

在 Mac 上遇到同样的问题,以上方法都不适合我。不过,有效的是打开活动监视器并关闭正在运行的 java 进程。我还注意到生成了一个 .hprof 文件,我将其删除。之后,我运行了我的项目并且成功了。


小智 5

我在我的项目中遇到了同样的问题,但我通过使项目无效来解决这个问题,所以在 android studio 中按照这些步骤操作

File -> Invalidate Caches / Restart...

Android Studio 将重新启动,您的问题应该会得到解决。


小智 5

gradlew --stop
Run Code Online (Sandbox Code Playgroud)

我有一个类似的错误,运行上面的命令对我有用。