我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
我想做一些基本的函数。我正在命令行中运行/构建它。我在看用户指南。还有,做一些简单的任务。
当我开始运行简单的任务时,它被成功构建。但是,在一段时间后,它会显示“它目前正在被另一个Gradle实例使用”,并变成BUILD FAILED。我正在使用终端运行任务。那时候我什么都没做。
如果我关闭产生错误的终端,这个问题就解决了。但是,我知道这不是解决办法。
为什么这个错误经常出现?
如何解决?
并且,请参考任何链接来提高我对Android中Gradle Build系统的知识。
当前回答
在@Sean Stayns的回答中引用了一个场景,以防它能帮助到任何人:如果你把你的项目保存在谷歌Drive文件夹中——不要这样做。只需将项目移动到本地驱动器即可解决此问题。
In the case we were trying to solve, were were also getting the "It is currently in use by another Gradle instance" error and nothing we tried here worked. The process ID was unknown as well. It didn't immediately occur to me to ask where the project was being saved, so in case anyone new to Android Dev is saving their projects to a Google Drive folder, just move over to your local drive. I would have just left this as a comment in @Sean Stayns's answer, but I can't comment. Hopefully it benefits someone.
其他回答
locktimeoutexception:等待锁定日志的超时时间 缓存用户缓存(C: \ \ unknown.gradle \ \ journal-1)。它目前在 被另一个Gradle实例使用
我也面临着同样的问题,我通过打开任务管理器,并在后台进程中检查“OpenJDK平台二进制文件”的运行实例,除了Android Stduio,只是“结束任务”这个任务和为我工作
让$JAVA_HOME指向与Android Studio相同的JDK版本。
所有荣誉都要归功于Vairavan Srinivasan
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
我被这个错误所困扰,不得不删除用户的.gradle/caches/文件夹的内容和项目的.gradle/文件夹的内容才能继续运行。
不知道是什么引起的,可能是一个失败的构建,使这些文件处于锁定状态?
有时候快速的方式会带来不优雅的交易,就是这样:
首先找到所有正在运行的gradle进程的#
ps -A | grep gradle
然后,拿到身份证,一个一个杀了他们
sudo kill -9 <process ID>
现在你很好了;-)