我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。

当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。

如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。

为什么这个错误经常出现?

如何解决?

并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。


当前回答

locktimeoutexception:等待锁定日志的超时时间 缓存用户缓存(C: \ \ unknown.gradle \ \ journal-1)。它目前在 被另一个Gradle实例使用

我也面临着同样的问题,我通过打开任务管理器,并在后台进程中检查“OpenJDK平台二进制文件”的运行实例,除了Android Stduio,只是“结束任务”这个任务和为我工作

其他回答

我也遇到过同样的问题,我做了两步就解决了。

我的JDK没有安装在Mac上(我忘了安装),我安装了它。 我删除了位于这个路径/Users/icon_developer/的缓存文件夹中的所有项目。Gradle /和重建项目。 它工作!

非常简单的解决方案:

不需要杀死Android Studio,只需杀死OpenJdkPlatform进程, 然后删除下面的.lock文件:

rootProject/.gradle/<version>/taskHistory

Windows用户:

Gradle失败消息后面通常跟着相关的进程id,所以应该是这样 Gradle同步失败:超时等待锁定守护进程地址注册表[…] 它目前正在被另一个Gradle实例使用。

Owner PID: 8080
Our PID: 89765
Owner Operation: ...
In order to unlock, just kill the owner process:

taskkill /PID 8080 /F
taskkill /PID 89765 /F

让$JAVA_HOME指向与Android Studio相同的JDK版本。

所有荣誉都要归功于Vairavan Srinivasan

除了上面的答案,你还需要弄清楚为什么gradle进程退出而不释放锁来永久修复它。

在我的情况下,我做了所有*。锁定文件删除和Android Studio的无效缓存选项。但问题不断出现。

在终端中手动运行gradlew显示,当JVM堆空间耗尽时,gradle进程会过早退出。这个回答帮助解决了这个问题。

./gradlew build #to detect what crashes gradle processes
./gradlew --stop #to stop any running gradle processes

在解决问题后(例如:堆耗尽)

find .gradle/ -type f -name "*.lock" -delete #delete lock files
./gradlew build #Try building the project