首页 > 解决方案 > 问题可能是由于守护程序配置不正确引起的

问题描述

我在运行 Flutter Project 时遇到问题我尝试了多个版本的 gradle 并且所有相同的错误

FAILURE: Build failed with an exception.

* What went wrong:
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 Manual chapter on the daemon at https://docs.gradle.org/5.6.2/userguide/gradle_daemon.html
Process command line: C:\Program Files (x86)\Java\jdk1.8.0_271\bin\java.exe -Xmx1536M -Dfile.encoding=windows-1256 -Duser.country=US -Duser.language=en -Duser.variant -cp C:\Users\midos\.gradle\wrapper\dists\gradle-5.6.2-all\9st6wgf78h16so49nn74lgtbb\gradle-5.6.2\lib\gradle-launcher-5.6.2.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.6.2
Please read the following process output to find out more:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap
2

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org
Exception: Gradle task assembleDebug failed with exit code 1


Flutter 医生 -v 的输出

[√] Flutter (Channel stable, 1.22.5, on Microsoft Windows [Version 10.0.19042.685], locale en-US)
    • Flutter version 1.22.5 at C:\flutter
    • Framework revision 7891006299 (12 days ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4


[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\midos\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe
    • Java version Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
    • All Android licenses accepted.

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[√] VS Code, 64-bit edition (version 1.52.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.17.0

[√] Connected device (1 available)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)

! Doctor found issues in 1 category.

Java的输出--showversion

java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) Client VM (build 25.271-b09, mixed mode)

我试图将 gradle 更改为: gradle-5.6.2-all gradle-6.1.1-all

我试图添加org.gradle.jvmargs=-Xmx1024mgradle-wrapper.properties

我试图删除 .gradle 并重新构建它

我试图在构建时禁用 Windows Defender,但同样的问题

标签: javafluttergradle

解决方案


恕我直言,您的机器无法为 gradle 进程提供它请求的堆空间。

Error occurred during initialization of VM
Could not reserve enough space for 1572864KB object heap

意味着运行 gradle 的 JVM 需要来自操作系统的 1.5GB 堆,但它没有得到。

你可以尝试什么:

在构建的根目录中修改或创建gradle.properties文件。

org.gradle.jvmargs=-Xmx1024M

所以你的 gradle 进程只消耗 1GB 的内存。

./gradlew --stop在运行下一个构建之前运行以停止所有守护进程。

但是:请确保您的系统有足够的内存资源来运行您想要运行的所有应用程序/进程。

如果您的系统有足够的内存资源:在我看来,您可能正在使用 32 位 JVM。32 位 Java JVM 的内存限制非常低。请切换到 64 位 JVM 并确保您的 JAVA_HOME 环境变量指向 64 位 JVM。这将允许您分配更多的内存。


推荐阅读