Flutter报错Unable to start the daemon process反复出现如何解决?
永久解决Flutter Android构建Gradle守护进程启动失败方案
1. 配置全局Gradle参数避免项目级配置被覆盖
你之前修改的是单项目内的gradle.properties,项目同步、清理缓存或者新建项目时配置会被重置,这是问题反复出现的核心原因。
- 打开Windows用户目录下的
.gradle文件夹(一般路径为C:\Users\你的用户名\.gradle) - 如果没有
gradle.properties文件就手动新建一个,添加如下配置:
# 固定JVM堆内存上限,8G内存设1024m,16G以上可设2048m org.gradle.jvmargs=-Xmx1024m -XX:MaxMetaspaceSize=512m # 固定守护进程上限,避免多余进程占用资源 org.gradle.daemon.max.idle.time=1h # 关闭不必要的构建特性减少内存占用 org.gradle.configureondemand=false org.gradle.parallel=false
该配置会对所有Gradle项目生效,不会因为项目修改被覆盖。
2. 修复Windows虚拟内存分配限制
Windows 10默认虚拟内存由系统自动管理,当C盘空间波动时会出现JVM无法分配连续内存的问题,哪怕调整了Xmx参数也会偶发启动失败:
- 右键「此电脑」→「属性」→「高级系统设置」→「高级」→「性能」→「设置」→「高级」→「虚拟内存」→「更改」
- 取消勾选「自动管理所有驱动器的分页文件大小」
- 选择C盘,勾选「自定义大小」,初始大小设为物理内存的1.5倍,最大值设为物理内存的3倍,点击「设置」后重启电脑生效。
3. 全局固定Gradle版本,避免版本自动更新导致的兼容问题
你之前修改的是项目级的gradle-wrapper.properties,Flutter创建新项目时会默认使用SDK内置的Gradle版本,容易出现和本地Java版本不兼容的问题:
- 下载你测试可用的
gradle-7.0.2-bin.zip到本地任意非中文路径解压 - 新增系统环境变量
GRADLE_HOME,值为解压后的Gradle根目录路径 - 在Path环境变量中添加
%GRADLE_HOME%\bin - 打开VSCode设置,搜索
flutter.gradlePath,填入你的Gradle根目录路径,之后Flutter会优先使用你指定的全局Gradle版本,不会自动下载新版本。
4. 清理损坏的Gradle守护进程缓存
如果偶发报错,执行以下命令清理所有残留的守护进程和缓存即可:
# 停止所有运行中的Gradle守护进程 gradle --stop # 删除.gradle下的缓存文件夹 rmdir /s /q "%USERPROFILE%\.gradle\caches" rmdir /s /q "%USERPROFILE%\.gradle\daemon"
内容的提问来源于stack exchange,提问作者TimeToCode
相关产品推荐
相关产品推荐

