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

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

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

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

如何解决?

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


当前回答

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: ...

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

sudo kill -9 1234

其他回答

非常简单的解决方案:

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

rootProject/.gradle/<version>/taskHistory

Mac用户在第一次Gradle同步

我在使用IntelliJ从GitLab克隆时也遇到了同样的问题。 事实上,正如这里提到的:https://stackoverflow.com/a/53269914/2231299 需要指定内部硬盘。

在我的例子中,步骤如下:

•本地克隆

•等待1st gradle同步执行

•移动目录到外部硬盘

•在新位置重新打开项目,然后gradle应该工作正常,即使是在外部硬盘上。

评论: 如果文件看起来有一些变化,不要害怕重新提交。这可能只是缩进或换行的问题,因为你的外部磁盘可能与你原来的mac磁盘有不同的格式。

Windows操作系统:

我认为它与一个锁文件有关,所以我只是去了项目文件夹中的.gradle\buildOutputCleanup,删除了cache.properties.lock文件并重新构建了项目。它工作得很完美。

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

所有荣誉都要归功于Vairavan Srinivasan

每个人最后, 我有完整的解决方案

Error :- Timeout Gradle cashe its running in other gradle


distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Please add this Line in Wrapper.Propertis and Sync now
After Sync the project When 
Invalidthcast\restart   to get the requesting componants