web-dev-qa-db-ja.com

ionic Androidビルド-jvmを起動するのに十分なメモリがありません

Android and gradleを使用してionic 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_OPTSを追加>プロパティ> Environment Variables
Java_OPTSをdx.batのAndroid SDKに追加
アプリケーションフォルダ内のbuild.batにJava_OPTSを追加しました
gradle.propertiesのJava_OPTSを変更しました

助けてください

12
aksappy

この問題は環境固有であることが判明しました。この不幸な問題を抱えているかもしれない人々を助けるためだけに答えを投稿してください。

この問題は、64ビットのWindows7に32ビットのJDKをインストールすることで解決されました。

インストールする前に

  1. Application Managerに移動して、すべてのJREおよびJDKインストールを削除します
  2. 古いJavaインストール)に関連するすべての環境変数を削除します
  3. すべてのJava関連エントリをPath変数から更新/削除します。(パス変数は削除しないでください)
  4. システムを再起動します
  5. ダウンロードしたJDKをインストールします
  6. 環境変数に移動し、必要なキーを追加します
  7. Path変数を更新して、JDKbinフォルダーを含めます

なぜこれが起こったのか私にはわかりませんが、問題は解決されました。

4
aksappy

Barlrog30のソリューションは私にはうまくいきませんでしたが、私にインスピレーションを与えました。

これが私のために働くものです:

環境変数GRADLE_OPTS-Dorg.gradle.jvmargs=-Xmx512mの値に設定します

私は使っている:

Windows 7 64bit + Jdk 32bit + cordova 5.3.1
19
Changwang Zhang

私も同じ問題を抱えていました。私はあなたの答えを読んで、「それはあまりにも多くの仕事のように思えます」と思いました。それで、私は掘り続けました。

私はこの答えを見つけました: https://stackoverflow.com/a/9813900/3771976

環境変数を設定するように指示されています:GRADLE_OPTS=-Xmx512m

メモリ制限をさらに1024に増やす必要がありましたが、問題は解決しました。

JVMオプションのOracleドキュメント

1
nbering

引数を変更する-Xmx2048m to 1024 or 512 at line:args.Push( '-Dorg.gradle.jvmargs = -Xmx1024m');プロジェクトファイル内

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

それは私のための仕事です!

0
Aakash Thakur

私の場合、Javaランタイム環境(JRE)とJava開発キット(JDK)のすべての環境変数を64ビットに配置する必要がありましたバージョン。

そのために、 OracleのWebサイト にアクセスし、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"
_

それが役に立てば幸い!

0
Nicolas

インテル®HardwareAcceleratedExecutionManagerをアンインストールしてから、再試行してください。

0
1nteger