47 votes

Cordova ne Pouvait pas réserver suffisamment d'espace pour 2097152KB tas d'objets

Je suis nouveau à cordoue et je suis en train de créer un android HelloWold projet.

Lorsque j'utilise cordova platforms add android, il lève une exception:

D:\CordovaSpace\helloWorld>cordova platforms add android
Adding android project...
Creating Cordova project for the Android platform:
        Path: platforms\android
        Package: com.example.helloworld
        Name: HelloWorld
        Activity: MainActivity
        Android target: android-24
Subproject Path: CordovaLib
Android project created with cordova-android@6.0.0
Installing "cordova-plugin-whitelist" for android
ANDROID_HOME=D:\Java_Android_SDK\android_sdk
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_73
Subproject Path: CordovaLib
Starting a new Gradle Daemon for this build (subsequent builds will be faster).

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 https://docs.gradle.org/2.14.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 2097152KB object heap


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Failed to install 'cordova-plugin-whitelist':Error: cmd: Command failed with exit code 1
    at ChildProcess.whenDone (D:\CordovaSpace\helloWorld\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:850:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:215:5)
Error: cmd: Command failed with exit code 1

111voto

Kemal Yalcinkaya Points 1289

Essayez à nouveau après l'augmentation de votre machine virtuelle Java(?) la taille de la mémoire.

Voici comment le fixer sur une plate-forme Windows:

Allez dans Démarrer -> Panneau de configuration -> Système -> Avancé(onglet) -> Variables d'Environnement -> Variables Système -> Nouveau:
Nom de la Variable: _JAVA_OPTIONS
Valeur de la Variable: -Xmx512M

Ne pas ignorer le score et caractères de soulignement.

13voto

Hamed Points 636

J'ai eu exactement le même problème. Je suis passé à utiliser 64-bit JDK comme le suggère ici, et il a bien fonctionné. J'ai été en utilisant Ionique 3.5.0 sur Windows 10.

6voto

Kernel Points 32
args.push('-Dorg.gradle.jvmargs=-Xmx2048m') 
into 
args.push('-Dorg.gradle.jvmargs=-Xmx1024m');

sur l'emplacement suivant des fichiers.

  1. project-folder\platforms\android\cordova\lib\builders\GradleBuilder.js

  2. project-folder\platforms\android\cordova\lib\builders\StudioBuilder.js

2voto

Abd Abughazaleh Points 75
args.push('-Dorg.gradle.jvmargs=-Xmx2048m') 
 to  
args.push('-Dorg.gradle.jvmargs=-Xmx1024m');

sur l'emplacement suivant des fichiers.

  1. project-folder\platforms\android\cordova\lib\builders\builders.js
  2. project-folder\platforms\android\cordova\lib\builders\GradleBuilder.js
  3. project-folder\platforms\android\cordova\lib\builders\StudioBuilder.js

0voto

Anand Points 3108

Définition de la variable d'environnement au niveau du système comme dans le @kemal est la solution sera de définir la taille de la mémoire pour toutes les JVM applications dans le système, qui n'est pas ce que la plupart aurait envie de faire.

Au lieu de cela, définissez la taille de segment de mémoire dans votre cordova gradlebuilder fichier de propriétés.

args.push('-Dorg.gradle.jvmargs=-Xmx2048m');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X