我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个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中遵循以下步骤
File -> Invalidate cache / Restart…
Android工作室将重新启动,您的问题应该得到解决。
在窗户上。在Android Studio中打开终端窗口(用于在项目的根文件夹中启动)并倾斜
.\gradlew --stop
我回答说:
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
现在,它可以像以前一样进行构建和运行
通过执行如下命令删除gradle缓存中的锁文件:
find ~/.gradle -type f -name "*.lock" -delete
Windows操作系统:
我认为它与一个锁文件有关,所以我只是去了项目文件夹中的.gradle\buildOutputCleanup,删除了cache.properties.lock文件并重新构建了项目。它工作得很完美。
让$JAVA_HOME指向与Android Studio相同的JDK版本。
所有荣誉都要归功于Vairavan Srinivasan