首页 > 解决方案 > Gradle Daemon 无法重用

问题描述

我正在尝试运行一个反应本机项目,但我看到一条错误消息,提示“正在启动 Gradle 守护程序,14 个忙,1 个不兼容,2 个已停止的守护程序无法重用,使用 --status 获取详细信息”,之后终端保持空闲状态。

您好,我已按照官方 react native 文档中概述的步骤启动新的 react native 项目。一切都很完美,直到我在打开模拟器的情况下运行 react-native run-android 命令。我收到以下错误:

“启动一个 Gradle 守护程序,14 个繁忙,1 个不兼容,2 个停止的守护程序无法重用,使用 --status 了解详细信息”

然后应用程序停留在“空闲”状态,我无法让反应本机应用程序显示在模拟器上。

到目前为止,我已经在我能找到的每一篇博客/文章中尝试了每一个现有的解决方案建议,但没有一个奏效。

  1. 我尝试使用 gradle --stop 停止所有 gradle 进程。
  2. 我试图删除 .gradle 目录。
  3. 我试图删除 .gradle/5.4.1/daemon 文件,但我什至在 gradle 版本文件夹中找不到守护程序文件夹。
  4. 我已经尝试多次删除项目并使用 react-native init 创建一个新项目。
  5. 我尝试不更新在 android studio 中打开新项目时建议的 gradle 软件。
  6. 我曾尝试为模拟器使用不同的手机。

终端输出 - https://imgur.com/zReGarB 项目文件夹 - https://imgur.com/wsb3hC1

标签: react-nativegradlegradle-daemon

解决方案


这不是错误,它只是一个警告,您的应用程序启动正常。该错误意味着没有可用的缓存 Gradle 进程(守护进程)可用。Gradle 守护程序在以下情况下可用:

  • 空闲守护程序是当前未执行构建或执行其他有用工作的守护程序。

  • 兼容的

    兼容的守护进程是可以(或可以被制作为)满足所请求的构建环境要求的守护进程。用于执行构建的 Java 运行时是构建环境的一个示例方面。另一个示例是构建运行时所需的一组 JVM 系统属性。

守护进程可能无法满足请求的构建环境的某些方面。如果守护程序使用 Java 8 运行时运行,但请求的环境调用 Java 10,则守护程序不兼容,必须启动另一个。此外,一旦 JVM 启动,Java 运行时的某些属性就无法更改。例如,无法更改正在运行的 JVM 的内存分配(例如 -Xmx1024m)、默认文本编码、默认语言环境等。

在文档中阅读更多内容。

所以你的消息基本上意味着你有 14 个被占用(非空闲)的守护进程和 2 个不兼容的。Gradle 只需要启动一个新的守护进程来执行你的构建!

PS 我建议你杀死这 14 个进程,gradle --stop因为这似乎太多了。我猜你刚刚启动了你的应用程序 14 次!


推荐阅读