cordova requirements failed en Mac
Hola.
Me salió el error de abajo al intentar instalar cordova
La version de cordova es 10.0.0
La versión de Android Studio es 4.0.1
Estoy atorado en la sección de pre requisitos de Android por el siguiente error.
MBP13:hello jhernand$ cordova requirements
Requirements check results for android:
Java JDK: installed 1.7.0
Android SDK: installed true
Android target: not installed
Command failed with exit code 1: avdmanager list target
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/AvdManagerCli : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle
Solución.
El error se debe a que la versión de JDK debe ser 1.8 y que la variable de ambiente JAVA_HOME debe apuntar allí.
Yo tenía la versión 1.7 y al parecer la versión de Gradle que instalé como parte de los pre requisitos requiere JDK 1.8
Después de instalar el JDK 1.8, ahora veo dos versiones disponibles del JDK y actualizo la variable JAVA_HOME en el archivo .bash_profile con un comando export como muestro abajo.
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
MBP13:~ jhernand$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
1.8.0_261, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
1.7.0_79, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
jangel-MBP13:~ jhernand$ open -e .bash_profile
jangel-MBP13:~ jhernand$ source .bash_profile
jangel-MBP13:~ jhernand$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
Una vez hecho esto, ejecutar nuevamente el comando cordova requirements y ya deben tener un resultado similar al de abajo.
MBP13:hello jhernand$ cordova requirements
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-30,android-29
Gradle: installed /usr/local/Cellar/gradle/4.2.1/bin/gradle
Espero les sirva.