【问题标题】:JVM error while building Ionic project构建 Ionic 项目时出现 JVM 错误
【发布时间】:2015-10-10 06:50:21
【问题描述】:

当我开始构建我的 Android 应用项目时,我发现了一个错误:

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 guide chapter on the daemon at http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
Unrecognized VM option 'MaxPermSize=256m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.


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

/var/www/html/ionicApp/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                    ^
Error code 1 for command: /var/www/html/ionicApp/platforms/android/gradlew with args: cdvBuildDebug,-b,/var/www/html/ionicApp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /var/www/html/ionicApp/platforms/android/cordova/build: Command failed with exit code 1

我尝试了this Stack Overflow answer 中所说的内容。即使那样,我的问题也没有解决。即使在离线配置之后也不行。

当我用谷歌搜索这个错误时,我发现它与 Android Studio 相关,但我不在 Studio 上。我很困惑,因为这是我第一次处理与 java 相关的任务。

谁能建议如何解决这个问题?

【问题讨论】:

标签: java android ionic-framework


【解决方案1】:

这是一个 Gradle 问题,而不是 Android Studio 问题。 Gradle 守护进程用于优化构建性能。默认情况下,它是通过属性文件/~/.gradle/gradle.properties 配置的。您可以阅读错误消息中提供的第一个doc link 了解更多信息。

错误消息告诉您需要了解的有关错误的所有信息,特别是:

Unrecognized VM option 'MaxPermSize=256m'

这个无法识别的选项会阻止 Gradle 启动运行 Gradle 守护进程的 JVM。我认为这个选项应该是-XX:MaxPermSize=256m。如果此选项的语法不适合您,您可以尝试通过在属性文件中设置来禁用守护程序:

org.gradle.daemon=false

您的构建仍将运行,并且可能会变慢 - 慢多少无法说,甚至可能不明显。

【讨论】:

  • 我的系统中没有安装 gradle。我该如何配置。是否需要安装和配置它?如果我的开发非常需要它
  • 它必须在那里,否则它不会启动并给你错误。您需要查看您运行的构建 Ionic 的任何构建脚本,以获取对 gradle 和/或守护进程的引用。从错误消息来看,您似乎正在使用 node.js 来实际构建它,对吧?必须有一个在幕后使用 gradle 的脚本。我不能告诉你更多,因为我不知道 node.js
【解决方案2】:

更改环境中的设置后,您应该重新启动命令提示符 CMD 以更新环境变量

【讨论】:

    【解决方案3】:

    如果尚未定义,请尝试在路径变量中定义 JAVA_HOME 和 ANDROID_HOME 到各自的 jdk 路径和 android sdk 路径。

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题,可能是因为 JAVA_HOME 指向 32 位 java

      JAVA_HOME = "C:\Programe Files (x86)\Java\jdk1.8.0_40"

      所以安装了 Java 64 位并将 JAVA_HOME 更改为

      JAVA_HOME = "C:\Programe Files\Java\jdk1.8.0_40"

      它对我有用,

      干杯,

      【讨论】:

        猜你喜欢
        • 2019-08-02
        • 1970-01-01
        • 1970-01-01
        • 2021-06-24
        • 2019-02-03
        • 2011-11-02
        • 2019-01-27
        • 2019-08-18
        • 1970-01-01
        相关资源
        最近更新 更多