Gradle构建失败:无法启动daemon进程、VM堆内存预留不足如何解决
Gradle构建无法启动守护进程报错解决步骤
原始报错信息
FAILURE: Build failed with an exception.
问题原因:无法启动daemon进程。该问题可能由daemon配置错误导致,例如使用了无法识别的jvm参数。
进程命令行:C:\Program Files\Android\Android Studio\jre\bin\java.exe -Xmx512M -Dfile.encoding=windows-1252 -Duser.country=IN -Duser.language=en -Duser.variant -cp C:\Users\user.gradle\wrapper\dists\gradle-6.7-all\cuy9mc7upwgwgeb72wkcrupxe\gradle-6.7\lib\gradle-launcher-6.7.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 6.7
VM初始化期间发生错误,无法为对象堆预留足够的空间
核心报错原因
JVM初始化时无法为对象堆预留足够内存,导致Gradle守护进程启动失败。
排查解决步骤
- 第一步:调整Gradle JVM堆内存配置
找到对应gradle.properties文件修改配置:- 项目级配置:项目根目录下的
gradle.properties文件 - 全局级配置:
C:\Users\你的用户名\.gradle\gradle.properties文件
找到org.gradle.jvmargs参数,将原本的-Xmx512M上调,例如修改为:
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=512M - 项目级配置:项目根目录下的
- 第二步:校验Gradle使用的JDK配置
打开Android Studio,依次进入File > Settings > Build, Execution, Deployment > Build Tools > Gradle,检查「Gradle JDK」选项:- 确认JDK路径没有中文、特殊字符
- 可尝试切换为Android Studio自带JDK,或自行安装的JDK11/17版本
- 第三步:清理残留的Gradle进程
打开终端执行命令./gradlew --stop,或直接在任务管理器中结束所有java.exe进程,消除残留进程占用的内存后重新构建。 - 第四步:检查系统剩余内存
关闭后台占用内存过高的无用软件,确保系统剩余可用内存不低于配置的JVM堆内存大小。 - 第五步:临时禁用守护进程验证
若上述步骤仍未解决,可在gradle.properties中添加org.gradle.daemon=false临时禁用守护进程,若可正常构建则确认问题出在守护进程配置,重新调整内存参数即可。
内容的提问来源于stack exchange,提问作者Amit_Poudel
相关产品推荐
相关产品推荐

