Android Studio:无法启动守护进程

Posted

技术标签:

【中文标题】Android Studio:无法启动守护进程【英文标题】:Android Studio: Unable to start the daemon process 【发布时间】:2013-12-26 14:28:14 【问题描述】:

当我尝试在 android Studio 中导入 gradle 项目时遇到以下错误。

Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.8/userguide/gradle_daemon.html
Please read below process output to find out more: 

这是我看到的输出:

18:25:42.484 [main] DEBUG o.g.l.daemon.bootstrap.DaemonMain - Assuming the daemon was started with following jvm opts: [-XX:MaxPermSize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Xmx1024m, -Dfile.encoding=windows-1252]
18:25:43.254 [main] DEBUG o.g.l.daemon.server.DaemonServices - Creating daemon context with opts: [-XX:MaxPermSize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Xmx1024m, -Dfile.encoding=windows-1252]
18:25:43.306 [DEBUG] [org.gradle.logging.internal.DefaultLoggingConfigurer] Finished configuring with level: DEBUG, configurers: [org.gradle.logging.internal.OutputEventRenderer@47078ad, org.gradle.logging.internal.logback.LogbackLoggingConfigurer@7402a821, org.gradle.logging.internal.JavaUtilLoggingConfigurer@5a6c4a07]
18:25:43.356 [INFO] [org.gradle.launcher.daemon.server.Daemon] start() called on daemon - DefaultDaemonContext[uid=e58252c1-7a49-4be4-a6cd-1bd3d6d0880d,javaHome=C:\Program Files\Java\jdk1.7.0_45,daemonRegistryDir=C:\Users\Sowmya\.gradle\daemon,pid=15432,idleTimeout=60000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252]
18:25:43.362 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] updating lastActivityAt to 1386593743362
18:25:43.702 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface lo
18:25:43.705 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? true
18:25:43.706 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback address /127.0.0.1
18:25:43.707 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback address /0:0:0:0:0:0:0:1
18:25:43.708 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface net0
18:25:43.711 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a loopback interface? false
DefaultDaemonContext[uid=e58252c1-7a49-4be4-a6cd-1bd3d6d0880d,javaHome=C:\Program Files\Java\jdk1.7.0_45,daemonRegistryDir=C:\Users\Sowmya\.gradle\daemon,pid=15432,idleTimeout=60000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252]
18:25:43.951 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
18:25:43.954 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
18:25:43.957 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
18:25:43.962 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
18:25:43.963 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
18:25:43.966 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
18:25:43.976 [ERROR] [system.err] 
18:25:43.977 [ERROR] [system.err] FAILURE: Build failed with an exception.
18:25:43.977 [ERROR] [system.err] 
18:25:43.978 [ERROR] [system.err] * What went wrong:
18:25:43.979 [ERROR] [system.err] Could not write cache value to 'C:\Users\Sowmya\.gradle\daemon\1.8\registry.bin'.
18:25:43.979 [ERROR] [system.err] 
18:25:43.980 [ERROR] [system.err] * Try:
18:25:43.981 [ERROR] [system.err] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
18:25:44.009 [INFO] [org.gradle.launcher.daemon.bootstrap.DaemonMain] Daemon[pid = 15432] process has finished.
18:25:44.010 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Removing daemon address: [9ae053cd-4dc2-4cb8-8f60-bb3c5983eb67 port:55117, addresses:[/127.0.0.1, /0:0:0:0:0:0:0:1]]
18:25:44.011 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
18:25:44.012 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
18:25:44.013 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
18:25:44.014 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
18:25:44.015 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
18:25:44.016 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
18:25:44.021 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] VM shutdown hook was unable to remove the daemon address from the registry. It will be cleaned up later.
org.gradle.api.GradleException: Could not write cache value to 'C:\Users\Sowmya\.gradle\daemon\1.8\registry.bin'.
    at org.gradle.cache.internal.SimpleStateCache.serialize(SimpleStateCache.java:74)
    at org.gradle.cache.internal.SimpleStateCache.access$100(SimpleStateCache.java:28)
    at org.gradle.cache.internal.SimpleStateCache$2.run(SimpleStateCache.java:50)
    at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.doWriteAction(DefaultFileLockManager.java:198)
    at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.writeFile(DefaultFileLockManager.java:187)
    at org.gradle.cache.internal.OnDemandFileAccess.writeFile(OnDemandFileAccess.java:58)
    at org.gradle.cache.internal.SimpleStateCache.set(SimpleStateCache.java:48)
    at org.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.set(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:38)
    at org.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.update(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:46)
    at org.gradle.launcher.daemon.registry.PersistentDaemonRegistry.remove(PersistentDaemonRegistry.java:109)
    at org.gradle.launcher.daemon.server.Daemon$1.run(Daemon.java:100)
Caused by: java.io.FileNotFoundException: C:\Users\Sowmya\.gradle\daemon\1.8\registry.bin (Access is denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
    at org.gradle.cache.internal.SimpleStateCache.serialize(SimpleStateCache.java:67)
    ... 10 more`

我已关闭 SO 中的解决方案中提到的防病毒软件。但似乎没有任何效果。

【问题讨论】:

从答案看来是内存问题。 (删除 gradle 对我不起作用)我关闭并打开计算机,它起作用了。如果通常您没有收到错误,它可能会有所帮助 【参考方案1】:

尝试从C:\Users\&lt;username&gt; 目录中删除您的.gradle,然后重试。

【讨论】:

我删除了 C:\Uers\Sowmya.gradle 目录中的守护程序文件,它工作正常。 :) 谢谢。 如果您收到类似“Could not read cache value from /Users/bj012293/.gradle/daemon/1.11/registry.bin”之类的错误,这也有效 无法找到 Somwya.gradle 文件 :( 哦,它的 C:\Uers\Sowmya\.gradle 如果我删除了当时有效的 .gradle 文件夹,但下次如果我再次运行 android studio,它会再次显示该错误。【参考方案2】:

1.如果你只是在Windows中打开了太多的应用程序,导致Gradle在Ram中没有足够的内存来启动守护进程。所以当你遇到这种情况时,你可以关闭一些应用程序,例如iTunes等在。然后重启你的安卓工作室。

2.File Menu -> Invalidate Caches/Restart->Invalidate and Restart.

【讨论】:

我刚刚关闭了一些应用程序,不需要重新启动 IDE。点赞谢谢。【参考方案3】:

我也有同样的问题。但设法通过 Invalidate Cash 解决。

从文件菜单 -> 使缓存无效/重新启动..

它为我解决了问题。

【讨论】:

【参考方案4】:

在 Eclipse 中,转到 windows -> 首选项 -> gradle-> 参数。 查找 JVM Arguments 从单选按钮“USE :”中选择并写入参数 -Xms128m -Xmx512m 然后点击按钮应用

【讨论】:

【参考方案5】:

检查您的项目文件夹。您可能有一个名为 gradle.properties 的文件,在其中检查是否没有此行:

org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

就我而言,我只是删除了文件,但请检查内容以查看您是否真的不想保留某些设置。

【讨论】:

【参考方案6】:

试试这个...我已经尝试过并且工作正常

此问题与内存不足有关...

关闭你的浏览器、Visual Studio 和其他服务..

然后运行以下命令

ionic build android 

它将成功运行..

//Solutions is
create "gradle.properties" file in android folder and add following line into file
org.gradle.jvmargs=-Xmx512m -XX:MaxPermSize=512m

<your project>\platforms\android\gradle.properties

你可以打开浏览器等..

ionic build android

现在它可以正常工作了。

【讨论】:

此解决方案适用于 Visual Studio Code 和 Cordova Tools 插件。【参考方案7】:

有时你只是在Windows中打开了太多的应用程序,导致gradle没有足够的内存来启动守护进程。所以当你遇到这种情况时,你可以关闭一些应用程序,例如Chrome等。然后重启你的安卓工作室。

【讨论】:

【参考方案8】:

对我来说,在我们的工作环境中,我们使用的是 Windows 7 64 位,机器被锁定,运行 McAfee 并打开了 Host Intrusion。

我关闭了 Host Intrusion 并且 gradle 终于可以工作了,所以肯定的是,这似乎是某些病毒扫描程序的问题。

更新:我说得太早了。是的,我知道不再收到“无法启动守护进程”消息,但现在我收到以下信息:

错误:无法列出使用 M2 模式“http://jcenter.bintray.com/[organisation]/[module]/[revision]/[artifact]-revision.[ext]”的版本。

【讨论】:

【参考方案9】:

我遇到了同样的问题,这里的其他答案都没有帮助我的特殊情况。

原来是因为我的 Android Studio 项目默认使用 JDK 8。

在项目设置中将其更改为指向 JDK 7 安装已为我解决了此问题。

【讨论】:

谢谢,我已经将我的 java home 设置为旧版本的 java 来构建一些 ant 项目,忘记重置它。【参考方案10】:

我在intellij idea中遇到了这个问题并通过这样做解决了,

尝试在设置 | 中将“VM 选项”设置为 -Xmx512m构建、执行、部署 |构建工具 |摇篮 | Gradle 虚拟机选项

【讨论】:

【参考方案11】:

我认为这是错误的JAVA_HOME 使这个错误。 当我遇到错误时,我会一直尝试,但它对我不起作用。 我尝试删除 c:.gradle 和 Compiler Android studio,但它仍然不起作用。 我重新安装系统它可以工作,当更新系统时我再次收到错误。 我尝试编译器JAVA_HOME用户环境和系统环境:

当我使用 cmd 输入 java:

当 cmd.exe 显示 masage 时,表示它可以工作,尝试运行 Android Studio,它会修复错误。

【讨论】:

【参考方案12】:

我已经通过删除我的应用程序项目中的 .gradle 文件夹解决了这个问题..

从您的项目中删除文件夹 .gradle 无需删除位于 C:\Users\&lt;username&gt; 的主 .gradle 文件夹

【讨论】:

【参考方案13】:

Gradle 守护进程故障排除的一些方法:

如果您的构建有问题,请尝试暂时禁用守护程序(您可以通过命令行开关--no-daemon)。 有时,您可能希望通过 --stop 命令行选项或更有效的方式停止守护程序。 有一个守护进程日志文件,默认位于 Gradle 用户主目录中。 您可能希望在 --foreground 模式下启动守护程序以观察构建是如何执行的。

【讨论】:

【参考方案14】:

在android studio中解决问题的步骤

    点击文件并从下拉菜单中选择其他设置,然后选择默认设置

    李>

    选择构建、执行、部署选项

    选择编译器

    这里在Additional build process VM option中添加如下一行

    -Xmx3072m -XX:MaxPermSize=524m as shown in below figure. 
    

【讨论】:

【参考方案15】:
Error:Unable to start the daemon process.

此问题可能是由于守护程序配置不正确造成的。 例如,使用了无法识别的 JVM 选项。

请参阅https://docs.gradle.org/3.3/userguide/gradle_daemon.html 上有关守护进程的用户指南章节

【讨论】:

欢迎来到 SO(堆栈溢出)!请修改您帖子中的拼写(使用空格)。如果Error: Unable to start the daemon process. 是引号,请使用块引号或反引号使其突出显示(请参阅编辑帮助)。我发现以冒号结尾的帖子很烦人。【参考方案16】:

不确定这是否会为每个人解决问题,但是卸载 java、java SDK 并安装最新版本(版本 8)为我解决了问题..

【讨论】:

// , 你怎么知道是什么解决了它? 我正在尝试此处列出的所有内容(YouTube 视频中也列出了一些内容......)当我检查我拥有的 Java 版本时,我碰巧看到列出了两个版本,我不知道是哪一个是 android studio 是针对.. 所以只是卸载了两者并尝试单独安装版本 8。之后,当我在工作室中运行相同的代码时,它开始工作..【参考方案17】:

如果你在 mac 上试试这个:

cd Users/<Your name> 

通过查找 .gradle 来确保您走在正确的道路上

ls -la

然后运行它来删除 .gradle

rm -rf .gradle

这将删除所有内容。然后再次启动你的命令,它会工作!

【讨论】:

【参考方案18】:

我认为这不是一个好的解决方案;但我改变了

org.gradle.jvmargs=-Xmx1536m

在 gradle.properties 中 用这个:

org.gradle.jvmargs=-Xmx512m -XX:MaxPermSize=512m

我通过了那个错误。

【讨论】:

【参考方案19】:

我尝试了此线程中的所有内容。从删除 .gradle 文件夹到使缓存无效并增加 org.gradle.jvmargs=-Xmx2512m 参数。没有任何帮助。然后我删除了整个“org.gradle.jvmargs”行(它包含在 -Xmx... 参数中),重新启动 Android Studio 并且它工作了。

不知道为什么这会有所帮助,也许如果参数消失了,它会自动使用所有可用的 RAM。我只在 Windows 上遇到这个问题,在 Linux 版本的 Android Studio 上它工作正常。

【讨论】:

【参考方案20】:

只需转到 pc c:/users/yourUsername/.gradle 中的 .gradle 文件夹并删除缓存文件夹

【讨论】:

【参考方案21】:

您需要使用 Android SDK Manager 安装所有必需的软件包:

Android SDK 工具

Android SDK 平台工具

Android SDK 构建工具

SDK 平台

ARM\Intel 系统映像

Android 支持库

Android 支持库

【讨论】:

以上是关于Android Studio:无法启动守护进程的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 错误:无法连接到守护进程

Android Studio无法启动 Gradle ,无法启动守护程序

Eclipse 错误“ADB 服务器未确认,无法启动守护程序”

Erlang:守护进程“init.d”脚本无法启动

gradle 命令失败,因为它无法启动守护进程

Flutter错误无法启动守护进程