ionic android 构建 - 内存不足,无法启动 jvm
ionic android build - not enough memory to start jvm
尝试使用 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:\Users23\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)
我正在尝试在 Windows 7 桌面上执行此操作。
我的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
,但系统就是无法启动它。我该如何解决这个问题?
我改变了
Added JAVA_OPTS in My Computer > Properties > Environment Variables
Added JAVA_OPTS in dx.bat
in android SDK
Added JAVA_OPTS in build.bat
inside application folder
Changed JAVA_OPTS in gradle.properties
请帮忙
发现此问题与环境有关。发布答案只是为了帮助那些可能遇到这个不幸问题的人。
The problem was solved by installing a 32 bit JDK on the 64 bit
Windows 7.
安装前
- 通过转到应用程序管理器删除所有 JRE 和 JDK 安装
- 删除与旧 Java 安装有关的所有环境变量
- 更新/从 Path 变量中删除所有 Java 相关条目。 (不要删除路径变量)
- 重启系统
- 安装下载的JDK
- 转到环境变量并添加所需的密钥
- 更新 Path 变量以包含 JDK bin 文件夹
我不知道为什么会这样,但问题已经解决了。
我遇到了同样的问题。我读了你的回答,然后想,"That seems like way too much work." 所以,我继续挖掘。
我找到了这个答案:
它说要设置一个环境变量:
GRADLE_OPTS=-Xmx512m
我不得不将内存限制进一步增加到 1024,但它解决了问题。
Barlrog30 的解决方案对我没有用,但启发了我。
以下是适合我的方法:
将环境变量 GRADLE_OPTS
设置为 -Dorg.gradle.jvmargs=-Xmx512m
的值
我正在使用:
Windows 7 64bit + Jdk 32bit + cordova 5.3.1
尝试卸载英特尔® 硬件加速执行管理器,然后重试。
在我的例子中,我只需要将 Java 运行时环境 (JRE) 和 Java 开发工具包 (JDK) 的所有环境变量放入 64 位版本.
为此,我去了 oracle's website,并简单地下载了 64 位 JRE 和 JDKs。
在安装过程中,我检查它在 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"
希望对您有所帮助!
在 line:args.push('-Dorg.gradle.jvmargs=-Xmx1024m'); 将参数 -Xmx2048m
更改为 1024 或 512在你的项目文件中
platforms\android\cordova\lib\builders\GradleBuilder.js
对我有用!!
尝试使用 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:\Users23\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)
我正在尝试在 Windows 7 桌面上执行此操作。 我的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
,但系统就是无法启动它。我该如何解决这个问题?
我改变了
Added JAVA_OPTS in My Computer > Properties >
Environment Variables
Added JAVA_OPTS indx.bat
in android SDK
Added JAVA_OPTS inbuild.bat
inside application folder
Changed JAVA_OPTS ingradle.properties
请帮忙
发现此问题与环境有关。发布答案只是为了帮助那些可能遇到这个不幸问题的人。
The problem was solved by installing a 32 bit JDK on the 64 bit Windows 7.
安装前
- 通过转到应用程序管理器删除所有 JRE 和 JDK 安装
- 删除与旧 Java 安装有关的所有环境变量
- 更新/从 Path 变量中删除所有 Java 相关条目。 (不要删除路径变量)
- 重启系统
- 安装下载的JDK
- 转到环境变量并添加所需的密钥
- 更新 Path 变量以包含 JDK bin 文件夹
我不知道为什么会这样,但问题已经解决了。
我遇到了同样的问题。我读了你的回答,然后想,"That seems like way too much work." 所以,我继续挖掘。
我找到了这个答案:
它说要设置一个环境变量:
GRADLE_OPTS=-Xmx512m
我不得不将内存限制进一步增加到 1024,但它解决了问题。
Barlrog30 的解决方案对我没有用,但启发了我。
以下是适合我的方法:
将环境变量 GRADLE_OPTS
设置为 -Dorg.gradle.jvmargs=-Xmx512m
我正在使用:
Windows 7 64bit + Jdk 32bit + cordova 5.3.1
尝试卸载英特尔® 硬件加速执行管理器,然后重试。
在我的例子中,我只需要将 Java 运行时环境 (JRE) 和 Java 开发工具包 (JDK) 的所有环境变量放入 64 位版本.
为此,我去了 oracle's website,并简单地下载了 64 位 JRE 和 JDKs。
在安装过程中,我检查它在 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"
希望对您有所帮助!
在 line:args.push('-Dorg.gradle.jvmargs=-Xmx1024m'); 将参数 -Xmx2048m
更改为 1024 或 512在你的项目文件中
platforms\android\cordova\lib\builders\GradleBuilder.js
对我有用!!