启动Gradle守护进程循环创建无限进程

23
无论我在Android Studio中打开或创建项目时,它开始进行后台构建或其他操作,都会到达“启动Gradle守护进程”这一步骤,但会进入循环并永远重复该步骤。因此,构建永远不会完成,并且它会一直创建Gradle守护进程,直到系统耗尽内存并冻结。
这是在Ubuntu上的情况。此前它能够正常工作,但我不知道可能发生了什么改变导致这种情况出现。有没有其他人遇到过这个问题并解决了它?

你可能会在这里找到已经解答的问题。https://dev59.com/oVoU5IYBdhLWcg3w1pT2 - Kunj Mehta
@KunjMehta 那并没有解决问题;它仍然无休止地生成Gradle守护进程,直到系统内存耗尽。 - flarn2006
@KunjMehta 你是什么意思? - flarn2006
4个回答

48

TL;DR: 在首次构建前关闭Windows Mobile热点(也称为adhoc适配器或Wi-Fi Direct虚拟适配器)。

由于某种原因,在热点开启时,gradle服务器根据%userProfile%\.gradle\daemon\<version>\中的日志文件,无法接受来自/127.0.0.1的传入连接。因此,它会不断生成新的守护进程,认为旧的守护进程(等待连接)已经死亡。

每次需要一个新的gradle守护进程(例如打开一个新项目),您都必须关闭热点,等待AS连接到守护进程(例如开始构建,同步gradle文件等),然后重新启用它。

请注意,如果您忘记禁用热点并启动构建/同步过程,则RAM将填满等待gradle守护进程。在再次尝试之前,请将它们全部杀掉,否则您将遇到“内存不足”错误。

我在快捷方式文件中使用这个好命令来一键杀死所有守护进程:C:\Windows\System32\taskkill.exe /F /IM java.exe /T。当然,这是假设您除了gradle守护进程之外没有其他java进程(在我使用AS时大多数情况下都是这样),并且您不介意重启正在运行的守护进程(在我看来这不是个大问题)。

此问题仅在从AS 4.0升级到4.1后才开始,并持续到下一次升级。


3
这是唯一适用于从4.0升级到4.1版的工作室的解决方案,对我也是同样的情况,在关闭热点后它起作用了。谢谢! - Hamza Khan
4
非常感谢!这个愚蠢的错误浪费了我很多时间。只需在Windows 10中关闭热点即可。 - close_file
2
启用热点后仍有同样的问题,感谢您查看此问题。但仍在寻找解决方案。 - Driss Bounouar
2
你的回答节省了我很多时间,谢谢。 - Anudeep Ananth
3
正在运行。非常感谢。这是一个非常奇怪的错误。 - Soumya Boral
显示剩余2条评论

8

我在Linux上也遇到了同样的问题。 经过追踪,发现是防火墙配置不正确。它阻止了Android Studio通过环回接口使用IP与Gradle守护程序进行通信。


好的,谢谢!这实际上是我在工作电脑上的问题,现在我已经因为其他原因换了一台新电脑。不过我还没有在新电脑上尝试使用Android Studio,我复制过去的一个东西是我的防火墙配置,所以如果那就是问题的话,也许它仍然会发生,并且我会记得你的建议。我将把这个答案标记为被接受的,因为已经有一段时间了。所以谢谢 :) - flarn2006
1
遇到了同样的问题,断开 VPN 后,“Starting gradle daemon” 停止循环。 - Coreggon

0

我在Win 10上遇到了同样的错误,我搜索了很多但没有帮助。

  • 我关闭/打开了Windows防火墙、Defender、编辑规则等等。 没有结果

解决方案可能是

恢复所有防火墙设置。

旧版控制面板→系统和安全→Windows Defender→恢复默认值

注意:选项/单词可能不太相似,因为它被翻译了。


更新1:

其他解决方案

在连接电脑到互联网之前运行构建,然后在守护程序启动后连接到网络,这样构建就可以正常工作。

或者您可以尝试禁用守护程序,或让它离线工作。

希望这能帮助到某些人。


0
对我来说:
断开连接用于测试的真实设备,
我既用它来测试应用程序,也用它通过 USB 共享上网。

哇耶。

更进一步的研究发现,原来是松动的 USB 电缆问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接