web-dev-qa-db-fra.com

Cordova Impossible de réserver suffisamment d'espace pour le tas d'objets de 2097152 Ko

Je suis nouveau sur Cordova et j'essaie de créer un projet Android HelloWold.

Quand j'utilise cordova platforms add Android, il jette 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 [email protected]
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
42
Mr_Yang

Réessayez après avoir augmenté la taille de la mémoire Java VM (?)).

Voici comment résoudre ce problème 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 variable: _Java_OPTIONS
Valeur de la variable: -Xmx512M

Ne pas ignorer le score et souligner les caractères.

91
Kemal Yalcinkaya

J'ai eu exactement le même problème. Je suis passé à l’utilisation du JDK 64 bits comme suggéré dans ici et cela a bien fonctionné. J'utilisais Ionic 3.5.0 sous Windows 10.

11
Hamed
args.Push('-Dorg.gradle.jvmargs=-Xmx2048m') 
into 
args.Push('-Dorg.gradle.jvmargs=-Xmx1024m');

sur les fichiers d'emplacement suivants.

  1. dossier-projets\plateformes\Android\cordova\lib\builders\GradleBuilder.js

  2. dossier-projet\plateformes\Android\cordova\lib\builders\StudioBuilder.js

3
Kernel
args.Push('-Dorg.gradle.jvmargs=-Xmx2048m') 
 to  
args.Push('-Dorg.gradle.jvmargs=-Xmx1024m');

sur les fichiers d'emplacement suivants.

  1. dossier-projets\plateformes\Android\cordova\lib\builders\builders.js
  2. dossier-projets\plateformes\Android\cordova\lib\builders\GradleBuilder.js
  3. dossier-projet\plateformes\Android\cordova\lib\builders\StudioBuilder.js
3
Abd Abughazaleh

Définir la variable d'environnement au niveau du système, comme dans la solution de @ kemal, définira la taille de la mémoire pour toutes les applications JVM du système, ce que la plupart ne voudraient pas faire.

Définissez plutôt la taille du segment de mémoire dans votre fichier de propriétés cordova gradlebuilder.

args.Push('-Dorg.gradle.jvmargs=-Xmx2048m');
0
Anand

Aller à Start -> Control Panel -> System -> Advanced(tab) -> Environment Variables -> System Variables

Ajouter/modifier Java_HOME Valeur from C:\Program Files (x86)\Java\jdk1.8.0_192 to C:\Program Files\Java\jdk1.8.0_192

Autrement dit, passez de Program Files (x86) chemin à Program Files Chemin.

0
Manohar Reddy Poreddy