tutorial run android cordova

android - run - cordova version



Cordova android emulator "no se puede leer la propiedad ''replace'' of undefined" (4)

Acabo de instalar la última versión de Apache Cordova (7.0.1) en Windows, el SDK de Android, agregué la plataforma de Android, y cuando trato de ejecutar el emulador de Android compila todo bien, pero luego muestra un:

No se puede leer la propiedad ''reemplazar'' de indefinido

Sin indicación ni nada más para rastrear el error.


En el foro marco Iónico encontré la siguiente respuesta que resolvió el problema:

Lo rastreó hasta la línea 202 del archivo /plataformas/android/cordova/lib/emulator.js:

var num = target.split (''(nivel de API'') 1 .replace ('')'', '''');

Reemplácelo con una búsqueda y extracción de expresiones regulares:

var num = target.match (/ / d + /) [0];


Pasó conmigo esta semana. Intenta rebajar la plataforma de Android a 6.0.0 hasta que el equipo iónico resuelva este problema.

Comandos:

cordova platform rm Android cordova platform add [email protected]


Si prefieres no modificar emulator.js (respuesta de Adrian), pude solucionar este problema al iniciar manualmente un dispositivo virtual Android antes de ejecutar cordova emulate android .


Información del dispositivo

  • Windows 10
  • Iónico 3

Mando

Ejecuté el siguiente comando en Windows 10 usando ionic y tuve el mismo problema:

iónico cordova emular android

Error

El siguiente error fue reportado en la terminal:

BUILD SUCCESSFUL Total time: 1.775 secs Built the following apk(s): C:/ionic/quoteapp/platforms/android/build/outputs/apk/android-debug.apk ANDROID_HOME=C:/Users/Arduino2/AppData/Local/Android/sdk JAVA_HOME=C:/Program Files/java/jdk1.8.0_144 Error: Cannot read property ''replace'' of undefined

Fijar

El reemplazo de:

var num = target.split(''(API level '')1.replace('')'', '''');

con

var num = target.match(//d+/)[0]

como se señaló anteriormente trabajó.

El archivo en un proyecto iónico se encuentra en la carpeta de la aplicación iónica en el siguiente directorio: /platforms/android/cordova/lib/emulator.js

No se me ocurrió esta solución, solo quería proporcionar el comando y el error que obtuve para ayudar a otros.