unhandledpromiserejectionwarning semver read property error emulate cannot cordova emulation device

error - ionic cordova emulate cannot read property semver of null



Cordova emulaciĆ³n de Android-Error: No se puede leer la propiedad ''semver'' de null (4)

El Mighty Chris tiene razón, ese es el problema y lo arregló en sentido ascendente (¡gracias Chris!). Sin embargo, solo para agregar a su respuesta, para personas como yo que no pueden actualizar cordova-android para incluir el parche, la solución es (para cordova-android v6.4.0):

  • encuentre la ruta <project_root>/platforms/android/cordova/lib/emulator.js
  • encuentra la línea avd.target = ''Android '' + level.semver + '' (API level '' + api_level + '')'';
  • reemplazarlo con avd.target = ''Android '' + (level ? level.semver : '''') + '' (API level '' + api_level + '')'';

Aquí está el patch relevante.

Intentando emular la aplicación de Android con cordova, pero recibe este mensaje de error:

Construyó los siguientes apk (s): /Users/jnj/cordova/hello/platforms/android/build/outputs/apk/android-debug.apk ANDROID_HOME = / Users / jnj / Library / Android / sdk JAVA_HOME = / Library / Java /JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

Error: No se puede leer la propiedad ''semver'' de null

¿Alguna solución?


Este es un error en el método list_images de cordova-android, se bloquea cuando encuentra una versión de Android en su sistema que no está en su lista: https://github.com/apache/cordova-android/pull/422

Puede aplicar el arreglo manualmente en las platforms/android/cordova/emulator.js dentro de su proyecto


Esto se debe al uso de un emulador con una versión inestable de la API de vista previa del desarrollador.

Probablemente tengas un dispositivo usando API 27 (Android 8.1).

Abra su AVD, retire ese dispositivo y vuelva a ejecutar.

También es útil usar --target <emulator_name> al iniciar el emulador si tiene más de uno.

Para obtener una lista de los nombres disponibles para usar, llame al comando emular con --list


Tuve un problema similar y lo que hice fue adb devices en el terminal para verificar si mi dispositivo estaba correctamente conectado o no, y encontré que mi dispositivo no estaba conectado correctamente, creo que hubo un problema con mi cable USB y Desconecté el cable y lo conecté de nuevo y ejecuté los mismos adb devices comando y adb devices , luego se mostró mi dispositivo como conectado. Mi problema se resolvió, espero que ayude a alguien más.