当尝试使用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)
我正在尝试在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
,但系统无法启动它。我该如何解决这个问题?
我改变了
在“我的电脑”中添加了JAVA_OPTS>属性>
中更改了JAVA_OPTSEnvironment Variables
在android SDK中的dx.bat
中添加了JAVA_OPTS 在应用程序文件夹中的build.bat
中添加了JAVA_OPTS 在gradle.properties
请帮忙
答案 0 :(得分:19)
Barlrog30的解决方案对我不起作用,但启发了我。
这对我有用:
将环境可兑换GRADLE_OPTS
设置为-Dorg.gradle.jvmargs=-Xmx512m
我正在使用:
Windows 7 64bit + Jdk 32bit + cordova 5.3.1
答案 1 :(得分:4)
发现此问题是特定于环境的。发布答案只是为了帮助那些可能有这个不幸的问题的人。
通过在64位上安装32位JDK解决了这个问题 Windows 7。
安装前
我不知道为什么会这样,但问题已经解决了。
答案 2 :(得分:1)
我遇到了同样的问题。我读了你的答案并思考,"这似乎太过分了。"所以,我一直在挖掘。
我找到了这个答案:https://stackoverflow.com/a/9813900/3771976
它说要设置一个环境变量:
GRADLE_OPTS=-Xmx512m
我不得不将内存限制进一步增加到1024,但它解决了这个问题。
答案 3 :(得分:0)
尝试卸载英特尔®硬件加速执行管理器,然后重试。
答案 4 :(得分:0)
在我的情况下,我只需将Java Runtime Environment(JRE)和Java Development Kit(JDK)的所有环境变量都放到64位版本中。
为此,我去了oracle's website,只是下载了64位JRE和JDK。
在安装过程中,我检查过它已在C:\Program Files\Java
和不在 C:\Program Files (x86)\Java
中安装得很好,
然后我设置了environnment变量:
- 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"
希望它有所帮助!
答案 5 :(得分:0)
将参数-Xmx2048m
更改为1024或512 at line:args.push(' - Dorg.gradle.jvmargs = -Xmx1024m');在您的项目文件中
platforms\android\cordova\lib\builders\GradleBuilder.js
这对我有用!!