Ошибка VM во время сборки Cordova PhoneGap
У меня возникла эта ошибка, когда я попытался создать приложение Cordova PhoneGap, а на последнем шаге, когда я использую команду сборки
cordova build android
Я получил эту ошибку:
![enter image description here]()
Ошибка
D:\rmapp>cordova run android
Running command: D:\rmapp\platforms\android\cordova\run.bat
ANDROID_HOME=D:\Android\sdk
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_71
WARNING : No target specified, deploying to device '192.168.56.100:5555'.
Running: D:\rmapp\platforms\android\gradlew cdvBuildDebug -b D:\rmapp\platform
s\android\build.gradle -PcdvBuildArch=x86 -Dorg.gradle.daemon=true
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:\rmapp\platforms\android\cordova\node_modules\q\q.js:126
throw e;
^
Error code 1 for command: cmd with args: /s /c "D:\rmapp\platforms\android\grad
lew cdvBuildDebug -b D:\rmapp\platforms\android\build.gradle -PcdvBuildArch=x86
-Dorg.gradle.daemon=true"
ERROR running one or more of the platforms: Error: D:\rmapp\platforms\android\c
ordova\run.bat: Command failed with exit code 1
You may not have the required environment or OS to run this project
Ответы
Ответ 1
Ваша система не может обеспечить достаточное пространство памяти для jvm и вызывает проблему.
Вот что работает для меня:
Добавьте переменную окружения GRADLE_OPTS
со значением -Dorg.gradle.jvmargs=-Xmx512m
Вы можете использовать -Xmx1g
, если у вас больше свободного места.
Ответ 2
Close Visual Studio
- по крайней мере, это была проблема в моем случае.
и/или любую другую интенсивную память.
Ответ 3
У меня была такая же проблема. Попробуйте запустить командную строку с правами администратора.
Ответ 4
просто решил эту проблему в Windows 8.1 и Windows 7. Вот что я сделал:
- Удалите все, что связано с Java в ваших программах и функциях в панели управления.
- проверьте следующий каталог и удалите java-папки:
а. C:\Users\\AppData\Local\Oracle
б. C:\Users\\AppData\LocalLow\Oracle
с. c:\Program Files\Java
д. C:\Program Files (x86)\Java
е. C:\ProgramData\Oracle
** ВАЖНО: удалять только эти папки после успешной деинсталляции всех java-записей в панели управления > Программы и функции
- Загрузите и установите последнюю версию Java SDK из здесь
- После того, как вы закончите, перейдите в cmd (запустите как admin) и попробуйте снова построить
заключение: из того, что я понимаю, у меня нет надлежащей настройки/установки java на моей машине. поэтому чистая установка всего, что решило мою проблему.
Ответ 5
Я получил эту ошибку, даже если я использовал 2 концерта (-Dorg.gradle.jvmargs = -Xmx2048m), но начал работать, когда я изменил JAVA_HOME в 64-разрядный каталог JDK. Использование более высокой версии Java также может помочь (1.8 +).
Ответ 6
Измените аргумент -Xmx20484m
на 1024
в строке:
args.push('-Dorg.gradle.jvmargs=-Xmx1024m');
в файле проекта
платформы\Android\Cordova\Lib\строители\GradleBuilder.js
.
Это работает для меня
https://forum.ionicframework.com/t/build-failed-unable-start-the-daemon-process/72171
Он работает для меня в плагине eclipce phonegap
Ответ 7
У меня была такая же проблема, пока я работал над Кордовой.
Как упоминалось в этом post, похоже, что куча не выделена, поэтому JVM не инициализируется.
Попробуйте освободить системный кеш, а затем попытайтесь создать проект.
Ответ 8
Эта ошибка происходит со мной время от времени. Я исправлю это, запустив программу "Менеджер SDK" в папке ANDROID_HOME.
Ответ 9
Я получил эту ошибку, потому что у меня не было 32-разрядного JDK. Установлено это, перезапущено и исправлено.
Ответ 10
В переменных среды добавьте системную переменную _JAVA_OPTIONS
, имеющую значение -Xmx512M
.
Ответ 11
Выполните следующую команду в CLI с правом администратора.
>export _JAVA_OPTIONS="-Xmx256M"
Это происходит со мной на машинах с большим количеством баранов, но с более низкими размерами памяти. Java решает выделить большую кучу, потому что обнаруживает барабан в машине, но ему не разрешено выделять его из-за ulimits.
Ответ 12
Мое решение состояло в том, чтобы просто установить новый Java SDK. Мне также пришлось изменить мой путь JAVA_HOME
, чтобы указать на новый SDK
Ответ 13
У меня была такая же проблема с моим проектом cordova, когда я установил последнюю версию JDK 1.8.0.121.
Чтобы решить эту проблему, я удалил все мои версии JDK (1.6, 1.7, 1.8..) и только что установил последнюю версию.
Ответ 14
Установите 64-битную версию Java JDK и укажите JAVA_HOME в установочный словарь.
Ответ 15
Мой JAVA_HOME
по умолчанию использовал версию x86. Добавив новую переменную JAVA_HOME
в переменную System env и указав ее на версию x64, я работал у меня. Это был путь, которым я закончил:
C:\Program Files\Java\jdk1.8.0_162
Ответ 16
Вам необходимо выделить память, установив две переменные среды:
-
_JAVA_OPTIONS
со значением -Xmx2048M
, чтобы указать, сколько памяти использует Java
-
GRADLE_OPTS
со значением -Dorg.gradle.jvmargs=-Xmx2048m
, чтобы определить, сколько памяти используется Gradle (это может быть указано для каждого проекта на пути [PROJECT PATH]\platforms\android\cordova\lib\builders\GradleBuilder.js
, хотя по умолчанию оно устанавливается как 2 ГБ атм)
Если кордова жалуется на Failed to run "javac -version"
, измените память в _JAVA_OPTIONS
на что-то ниже.
Java - восхитительный кусочек компоста