Когда я использую cordova run android (либо в командной строке cmder, либо в Windows 10), он не работает из-за проблемы с java.
Вот ошибка:
Android Studio project detected
(node:10916) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Failed to run "javac -version", make sure that you have a JDK installed.
You can get it from: http://www.oracle.com/technetwork/java/javase/downloads.
Your JAVA_HOME is invalid: C:\Program Files (x86)\Java\jre1.8.0_161
java работает хорошо, javac не работает.
Вот системная переменная JAVA_HOME: Системная переменная JAVA_HOME
Вот системная переменная PATH: Системная переменная PATH
Я пробовал несколько вещей, но это все еще не работает. Я перезапустил свой компьютер и командную строку.




Вам необходимо установить JDK (Java Development Kit). В настоящее время у вас есть JRE (среда выполнения Java)
Для этого загрузите jdk и установите для переменной JAVA_HOME значение jdk. Тогда вы сможете запустить javac (компилятор java) в командной строке.
JDK содержит JRE. Следовательно, все, что вы могли сделать до этого момента, вы по-прежнему сможете делать.
Также вы можете установить JRE_HOME и JDK_HOME. Тогда ваши переменные могут выглядеть так:
JAVA_HOME: C:\Program Files\Java\jdkx.x.x_xxx
JRE_HOME: %JAVA_HOME%\jre
JDK_HOME: %JAVA_HOME%
А также не забудьте добавить его в Path:
Path: other entries; %JAVA_HOME%\bin; other entries
Java - это исполнитель java, а javac - компилятор. Если вы создаете приложение для Android, вам необходимо его скомпилировать.
вы можете убедиться, что у вас установлен JDK? javac -v
если нет, вам нужно установить его, найти двоичный файл и добавить его в системные переменные.
Спасибо! После установки JDK по ссылке, указанной в ошибке, я столкнулся с ошибкой
UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Requirements check failed for JDK 1.8 or greater, поэтому мне пришлось удалить java и установить JDK 1.8 загружен отсюда.