ionic android构建-内存不足,无法启动jvm

ionic android构建-内存不足,无法启动jvm,android,ionic,hybrid-mobile-app,Android,Ionic,Hybrid Mobile App,当尝试使用ionic和gradle创建android apk文件时,我得到一个错误 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

当尝试使用ionic和gradle创建android apk文件时,我得到一个错误

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:
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for object heap
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.

D:\test\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
                          ^
Error code 1 for command: cmd with args: /s /c "D:\test\platforms\android\gradle
w cdvBuildDebug -b D:\test\platforms\android\build.gradle -Dorg.gradle.daemon=tr
ue"
ERROR building one of the platforms: Error: D:\test\platforms\android\cordova\bu
ild.bat: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: D:\test\platforms\android\cordova\build.bat: Command failed with exit cod
e 1
    at ChildProcess.whenDone (C:\Users\9923\AppData\Roaming\npm\node_modules\cor
dova\node_modules\cordova-lib\src\cordova\superspawn.js:131:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
我正试图在Windows7桌面上执行此操作。 我的Java内存设置如下

D:\test>java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize Threa
dStackSize"
     intx CompilerThreadStackSize                   = 0               {pd produc
t}
    uintx ErgoHeapSizeLimit                         = 0               {product}
    uintx HeapSizePerGCThread                       = 87241520        {product}
    uintx InitialHeapSize                          := 67108864        {product}
    uintx LargePageHeapSizeThreshold                = 134217728       {product}
    uintx MaxHeapSize                              := 1044381696      {product}
     intx ThreadStackSize                           = 0               {pd produc
t}
     intx VMThreadStackSize                         = 0               {pd produc
t}
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
我尝试在许多地方设置
-Xms
-Xmx
,但系统无法启动它。我如何解决这个问题

我换了房间

在“我的电脑”>“属性”>“环境变量”中添加了JAVA选项 在android SDK的
dx.bat
中添加了JAVA_选项
在应用程序文件夹内的
build.bat
中添加了JAVA选项
更改了
gradle.properties中的JAVA选项


请提供帮助

发现此问题与环境有关。发布答案只是为了帮助那些可能有这个不幸问题的人

通过在64位处理器上安装32位JDK解决了这个问题 视窗7

安装前

  • 通过转到Application Manager删除所有JRE和JDK安装
  • 删除与旧Java安装相关的所有环境变量
  • 更新/删除Path变量中所有与Java相关的条目。(不要删除path变量)
  • 重新启动系统
  • 安装下载的JDK
  • 转到环境变量并添加所需的键
  • 更新Path变量以包含JDK bin文件夹

  • 我不知道为什么会发生这种情况,但问题已经解决。

    我也有同样的问题。我读了你的答案,然后想,“这似乎太多的工作了。”所以,我继续挖掘

    我找到了这个答案:

    它说要设置一个环境变量:
    GRADLE_OPTS=-Xmx512m

    我不得不将内存限制进一步提高到1024,但它解决了这个问题


    Barlrog30的解决方案不适合我,但启发了我

    以下是对我有效的方法:

    将环境变量设置为
    -Dorg.GRADLE.jvmargs=-Xmx512m

    我正在使用:

    Windows 7 64bit + Jdk 32bit + cordova 5.3.1
    

    请尝试卸载“英特尔硬件加速执行管理器”,然后重试

    在我的例子中,我只需要将Java运行时环境(JRE)和Java开发工具包(JDK)的所有环境变量都放到64位版本

    为此,我访问了,并简单地下载了64位JRE和JDK

    在安装过程中,我检查了它是否安装在
    C:\Program Files\Java
    中,而没有安装在
    C:\Program Files(x86)\Java

    然后设置环境变量:

     - JAVA_HOME: C:\Program Files\Java\jdk1.8.0_121
     - Path: "C:\Program Files\Java\jre1.8.0_121\bin" and "C:\Program Files\Java\jdk1.8.0_121\bin"
    

    希望有帮助

    在args.push('-Dorg.gradle.jvmargs=-Xmx1024m')行将参数
    -Xmx2048m
    更改为1024或512;在项目文件中

    platforms\android\cordova\lib\builders\GradleBuilder.js


    这是我的工作

    您是否使用64位Windows?如果是这样的话,你应该检查一下你是否有64位的jdk。对于那些想解决这个问题的人来说,这对我很有帮助——让我试一下,你知道默认值是什么吗?我为这个选项添加了一个指向Oracle JVM文档的链接。默认值似乎取决于您的环境。进一步阅读还表明,
    GRADLE_OPTS
    JAVE_OPTS
    完全相同,只是它特定于GRADLE构建系统。我认为还值得注意的是,在添加另一个Cordova插件之前,我没有遇到任何问题,然后突然出现了这个问题。因此,所需的内存似乎与您正在构建的内容有关。在我的案例中,我必须安装64位JDK(以前是32位JDK)。但这个答案让我找到了正确的解决方案!那么,这里真正的问题是什么?gradle的默认RAM大于3GB?您的意思是“BarlLog30的解决方案不适合您吗”?请澄清一下,在windows命令提示符下:set gradle_OPTS=-Dorg.gradle.jvmargs=-xmx512您应该对其进行注释,或者编辑并改进您的问题