how example ejemplo code cordova cordova-cli

cordova - example - javadoc ejemplo



Córdoba: error en la verificación de requisitos para JDK 1.8 o superior (28)

  1. Ir al panel de control Inicio
  2. Configuración avanzada del sistema
  3. Variables de entorno
  4. Elige JAVA_HOME
  5. editar
  6. valor variable para el 1.8

Estoy usando Cordova 6.4.0 en el sistema operativo Windows 7, pero recibo este error una vez que intenté construir la versión de Android:

La variable Java Home está configurada correctamente en la ruta JDK, pero no sé por qué estoy teniendo este problema. ¿Alguna sugerencia por favor?


A veces, cambiar el camino y java-home no funciona. Necesitas agregar

C:/Users/[your user]/AppData/Local/Android/Sdk/platform-tools C:/Users/[your user]/AppData/Local/Android/Sdk/tools

a la ruta variable ambiental también.


Acabo de cambiar el nombre de la carpeta JDK anterior con _ , por si acaso la necesito más, y funcionó.

C:/Program Files (x86)/Java/_jdk1.7.0_40 C:/Program Files (x86)/Java/_jre7


Chicos para obtener la combinación correcta en Windows , debe hacer lo siguiente

  1. Descargue e instale cualquier versión de JDK 1.8 o superior.
  2. Abra las variables de entorno, cree una variable de entorno llamada JAVA_HOME y establezca el valor en la ruta de instalación de JDK. C:/Program Files/Java/jdk1.8.0_162 asegúrese de no agregar /bin en el valor.

  1. En la variable de ruta del sistema, coloque un punto y coma ; y agregue este valor a la ruta del sistema, por ejemplo, C:/Program Files/Java/jdk1.8.0_162/bin; Aquí se agrega el /bin .

Nota: Las variables de entorno son complicadas. Se supone que están cerradas por a ; antes de abrir otro. Es por eso que ponemos uno antes de agregar el valor y uno después del valor para cerrarlo.

  1. Ahora cierre la terminal y vuelva a abrir, luego ejecute los comandos anteriores.

Creo que encontré la solución del problema. Publicaré la respuesta en caso de que alguien enfrente el mismo problema.

Desinstale todos los JDK anteriores, incluido 1.8 Instale JDK 1.8


Descubrí que mi variable de entorno de ruta apuntaba a java 1.7 mientras que JAVA_HOME apuntaba a 1.8, así que edité la variable de ruta a 1.8 y estaba bien.


Desinstalé todas las instalaciones de Java y reinstalé jdk-8u181-windows-x64. Me ha funcionado para evitar este problema.


Desinstalar versiones anteriores de JDK habría funcionado. Pero puede ser una solución, supongo. Me enfrenté al mismo problema y noté que tanto la nueva versión de JDK como la versión anterior de la ruta JDK se han mencionado en la variable de entorno ''path ''.

La eliminación de la ruta JDK de la versión anterior de la variable ambiental ''path '' hizo el truco para mí. Espero que ayude a alguien también.


En Linux (Debian / Ubuntu) esto se puede resolver seleccionando un Java 1.8 SDK en

sudo update-alternatives --config javac

Cambiar la variable env JAVA_HOME directamente no parece tener ningún efecto.

EDITAR: respondiendo a los comentarios: Esto probablemente tenga algo que ver con el hecho de que las nuevas instalaciones Java de Debian (y aparentemente Ubuntu) a través del administrador de paquetes no usan la variable de entorno JAVA_HOME para determinar la ubicación del JRE. Vea this y esta publicación para más información.


Es posible que tenga una versión superior a 8, pero Cordova solo admite JDK 1.8. Ver este enlace Documentación de Cordova

Eché un vistazo al código que realmente comprueba el número de versión de su Java. Busque lo siguiente: module.exports.check_java en plataformas / android / cordova / lib . en la línea 220. Verá una expresión regular y un comentario dejado por el equipo de que Java 10 será compatible en el futuro.

La expresión regular existente fallará cuando se ejecute contra las últimas versiones de Java, como Java 10. Esto se debe a que Java 8 o 9 se guardan en el siguiente formato: 1. [8-9]. ** pero Java 10 se guarda como 10. ** y la expresión regular busca una versión en el formato 1. [8-9]. **

// Let''s check for at least Java 8, and keep it future proof so we can support Java 10 var match = /javac ((?:1/.)(?:[8-9]/.)(?:/d+))|((?:1/.)(?:[1-9]/d+/.)(?:/d+))/i.exec(output);

Mi solución:

No tiene que desinstalar su versión actual de JRE o JDK ya que el instalador instala cada versión en una carpeta específica.

1- Instale la versión Java 8 oracle.com/technetwork/java/javase/downloads/…

2- Actualiza tus variables de entorno:

  • JAVA_HOME si instaló el JDK
  • JRE_HOME si instaló el JRE

señalándolos a la ubicación donde se instalaron JRE 8 y JDK 8.

// On my machine C:/Program Files/Java/jdk1.8.0_171 // JAVA_HOME C:/Program Files/Java/jre1.8.0_171 // JRE_HOME

Abra una nueva sesión de terminal y ejecute el comando que estaba fallando. Debería funcionar ahora.

¿No funcionó?

Si falla por otras razones, posible proceso de depuración:

  • Asegúrese de que las variables JAVA_HOME y JRE_HOME sean variables del sistema.
  • Asegúrese de que se agreguen a la ruta del usuario Agregue variables a la ruta

Este mensaje de error hace que el usuario confunda, la pantalla de éxito es la siguiente.

El mensaje de error hace que el usuario intente corregir el error de compilación con la configuración JAVA_HOME. Pero el verdadero problema no está solo en JAVA_HOME.

Arreglo este problema con la configuración correcta en JAVA_HOME y Path en "variable del sistema".

Hope puede ayudar a solucionar el problema, pero no reinstalar JDK.


Estoy de acuerdo con @Hozington. Este debería ser el error en el código Cordova de detectar la versión Java. Lo que hice es:

  1. Mantenga el JDK 10
  2. Instale el JDK 8
  3. Cambie JAVA_HOME a la ruta de JDK 8 y cambie también la variable de path .
  4. reinicie el "cmd" y ejecute cordova build nuevamente.

¡Y el error desapareció!



La respuesta publicada por MadNeox es correcta. Estaba enfrentando un problema similar que tenía instalado jdk 9, así como la versión 1.8

Primero lo intenté manteniendo jdk 9 y eliminando 1.8, mostraría un error Error en la verificación de requisitos

Luego intenté desinstalando jdk9 y reinstalando 1. esta vez se mostraba un error al ejecutar javac-version

Después de jugar con las variables de entorno durante un tiempo, finalmente obtuve la solución

En este punto, mi sistema solo tiene la versión jdk 1.8 Cordova: 7.1.0

-Pestaña Variables de entorno abierto -Debajo de las variables de usuario, cree una nueva variable RUTA -Dele el siguiente valor C: / Archivos de programa / Java / jdk1.8.0_151 / bin (puede cambiar dependiendo de dónde haya instalado su jdk)

Esto debería resolver su problema Espero que ayude

Aunque la respuesta ya estaba dada, me llevó algo de tiempo averiguar dónde me estaba equivocando, así que decidí publicar esto con la esperanza de que ahorrara el tiempo de otra persona


Lo que funcionó fue desinstalar jdk 9 y reinstalar jkd 8.x

En Mac para desinstalar, vaya al terminal y siga estos pasos:

cd /Library/Java/JavaVirtualMachines sudo rm -rf jdk-9.0.1.jdk

Luego instale el jdk 8.x descargando el paquete .dmg de Oracle.


MAC: vaya a: / Library / Java / JavaVirtualMachines Asegúrese de tener solo jdk1.8.0_201.jdk Si tiene muchos, elimine otros JDK


Me enfrenté al mismo problema con jdk1.8.0_201.Se resolvió cuando hice JAVA_HOME = C: / Program Files / Java / jdk1.8.0_201 y agregué "C: / Program Files / Java / jdk1.8.0_201 / bin" en variable de ruta


No tiene que desinstalar ninguna versión superior de sdk. simplemente instale jdk1.8.0_161 o no lo haga si ya está instalado.

Ahora solo configure la variable USUARIO JAVA_HOME (no la variable del sistema) como se muestra en la imagen a continuación.

De esta manera, no tiene que desinstalar una versión superior y el problema se resuelve.


Parece que el SDK de Android no es compatible con Java 9. Baja a 8 si no quieres volver a JDK 1.8, lo cual para mí es ridículo. JDK 8 funciona para mí, pero asegúrese de establecer la variable de entorno JAVA_HOME en la ubicación de su instalación de JDK correctamente.


Si tiene instalados jdk8 y jdk9, debe verificar qué versión es

en la ruta y hacia dónde apunta JAVA_HOME.

En el registro que publicaste, veo que JAVA_HOME está conduciendo al JDK9.

modifique su var globel JAVA_HOME env para apuntar a JDK8 o puede cambiar JAVA_HOME en powershell antes de usar la CLI de cordova si desea usar jdk8 solo para cordova:

$env:JAVA_HOME="C:/Program Files/Java/jdk1.8.0_151" **cordova build android**


Si tiene varias versiones de Java instaladas y necesita conservarlas, debe verificar lo siguiente:

  • JAVA_HOME apuntando a su jdk1.8
  • en su variable PATH necesita verificar que la ruta jdk1.8 / bin esté antes que las otras rutas jdk / bin

Solo asegúrese de que las mismas versiones de JDK (es decir, 1.8 en este caso) sean accesibles desde la variable de entorno PATH y JAVA_HOME . Ejemplo: si JAVA_HOME=C:/Program Files/Java/jdk1.8.0_152 , la variable PATH también debe contener la ruta anterior y, lo que es más importante, cualquier otra ruta (si hay alguna) si JDK / JRE ya se menciona en la variable PATH . Puede optar por desinstalar otras versiones si ninguna otra aplicación está utilizando una versión diferente de Java.


Tengo (abierto) JDK 8 y 11 instalado en Windows 10 y tuve el mismo problema. Para mí lo siguiente funcionó:

  1. Establezca JAVA_HOME para que apunte a JDK 8. (Mencionado en muchas respuestas antes). Y
  2. Elimine (!) JDK 11 de la RUTA, ya que resultó que, aunque muestra la ruta JAVA_HOME que apunta a JDK 8, Cordova realmente accedió a JDK 11 que se incluyó en la RUTA, lo que hizo que la verificación de la versión de Java fallara.

en mi caso, JAVA_HOME apuntaba a C: / Archivos de programa (x86) / Java / jdk1.7.0_55

cuando escribí donde Java en cmd generaba C: / Archivos de programa (x86) / Java / jdk1.7.0_55 junto con la ruta java.exe, he cambiado la variable JAVA_HOME de variables de entorno a C: / Archivos de programa / Java / jdk1.8.0_20 y funcionó, por lo que parece que tuve 2 instancias de jdk y cordova necesita la v1.8. * una.


si el problema persiste

Mira esto :

  • JAVA_HOME se refiere a una versión disponible para cordova
  • punto variable ''ruta'' en su jdk / bin (y el mismo jdk que su JAVA_HOME)

si tienes muchas versiones de JDK puedes ejecutar

export JAVA_HOME="/usr/local/env/java/jdk1.8.0_131.jdk/Contents/Home/"

antes de cordova build, para usar una versión específica de jdk :)


Para los usuarios de ubuntu he estado viendo respuestas, pero me tomó tiempo reunir soluciones. Para referencia futura, desinstale la instalación de sudo predeterminada utilizando el comando

sudo rm -r /usr/lib/jvm/jdk10.0.2

reemplace el jdk anterior con su versión que instaló la mía fue 10.0.2! Luego vaya al sitio de Oracle y descargue el tar.gz desde https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html . Luego extraiga su archivo en home carpeta de home usando el código a continuación usando la terminal

tar zxvf jdk-8u201-linux-x64.tar.gz

Reemplace su Jdk pero use jdk1.8 ya que es necesario para cordova igual que el anterior. Luego configure sus variables de entorno utilizando el código a continuación

gedit ~/.bashrc

El editor de texto aparecerá y luego agregará esta exportación. ¡Eso es todo! Funcionará después de reiniciar su computadora

export JAVA_HOME=/home/abrsh/jdk1.8.0_201

Aquí en el código anterior abrsh es mi nombre de usuario y jdk1.8.0_201 es la carpeta que tar zxvf anteriormente usando tar zxvf


Según la documentación oficial de Cordova, solo admite JDK 1.8 no mayor hasta la fecha (abril de 2018) . O puede haber un problema con la secuencia de comandos de detección de versión dentro de cordova.

Córdoba: instalación de los requisitos