android - "Starting Gradle daemon"循环创建无限进程

标签 android android-studio gradle android-gradle-plugin

每当我在 Android Studio 中打开或创建一个项目,它开始进行后台构建或其他任何操作时,它都会进入“启动 Gradle 守护进程”,但会进入一个循环,并且永远不会停止重复该步骤。因此,构建永远不会完成,它会不断创建 Gradle 守护进程,直到系统内存不足并卡住。

这是在 Ubuntu 中。它以前确实有效,但我不知道发生了什么变化才能让它开始发生。有没有其他人遇到过这个问题并能够解决它?

最佳答案

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

出于某种原因,当热点打开时,gradle server cannot accept incoming connections from /127.0.0.1根据 %userProfile%\.gradle\daemon\<version>\ 中的日志文件.因此,它不断产生新的守护进程,认为旧的守护进程(等待连接)已经死了。

每次需要一个新的gradle daemon(eg. open a new project),你要关闭热点,等待AS连接到daemon(eg. start building, sync gradle files等),然后重新启用它。

请注意,如果您忘记禁用热点并启动构建/同步过程,您的 RAM 将充满等待的 gradle 守护进程。在重试之前将它们全部杀死,否则会出现“内存不足”错误。

我在一个快捷方式文件中使用这个漂亮的命令来一键杀死所有的守护进程: C:\Windows\System32\taskkill.exe /F /IM java.exe /T .当然,这是假设除了 gradle 守护进程之外你没有 java 进程(当我在 AS 上工作时通常是这种情况),并且你不介意重新启动正在工作的守护进程(imo 没什么大不了的)。

此问题仅在从 AS 4.0 升级到 4.1 后出现,并且在下次升级时也会出现。

关于android - "Starting Gradle daemon"循环创建无限进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51270652/

相关文章:

android - 为每个 NavigationItem 使用一个 GridView

android - 有没有办法以编程方式清除所有缓存文件?

eclipse - Gradle eclipse classpath - 在快照和项目依赖之间切换

Android Studio - 将构建机器的 IP 地址获取到 Android 应用程序中

java - 让 OpenGL-ES 模板缓冲区工作

java - 获取 Spotify URI android studio

java - ClassCastException : getApplication() returns something weird

android-studio - 使用配置“摇动重复值资源 'attr/highlightColor'

android - 子项目模块无法解析它自己的依赖

scala - 使用 Gradle 为多个子项目生成单个 ScalaDoc