Подтвердить что ты не робот

Кордова android эмулятор "не может прочитать свойство" заменить "undefined"

Только что установили последнюю версию Apache Cordova (7.0.1) в Windows, Android SDK, добавили платформу Android, и при попытке запустить эмулятор Android он скомпилирует все в порядке, но затем показывает:

Невозможно прочитать свойство "replace" из undefined

Без указания или чего-либо еще для отслеживания ошибки.

4b9b3361

Ответ 1

В форуме Ionic framework был найден следующий ответ, который решил проблему:

Отследить его до файла /platforms/android/cordova/lib/emulator.js строка 202:

var num = target.split('(уровень API') 1.replace(')', '' );

Замените его поиском и извлечением регулярных выражений:

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

Ответ 2

Случилось со мной на этой неделе. Попытайтесь понизить платформу Android до 6.0.0, пока ионная команда не решит эту проблему.

Команды:

cordova platform rm Android
cordova platform add [email protected] 

Ответ 3

Информация об устройстве

  • Windows 10
  • Ionic 3

Команда

Я запускал следующую команду в Windows 10 с помощью ионной и имел ту же проблему:

ионная кордова эмулирует андроид

Ошибка

В терминале была отмечена следующая ошибка:

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

Fix

Замена:

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

с

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

как указано выше.

Файл в ионном проекте находится в вашей папке с ионным приложением в следующем каталоге:/platforms/android/cordova/lib/emulator.js

Я не придумал это исправление, просто хотел указать, какие команды и ошибки я получил, чтобы помочь другим.

Ответ 4

Если вы предпочитаете не изменять emulator.js(ответ Адриана), мне удалось обойти эту проблему, вручную запустив виртуальное устройство Android перед запуском cordova emulate android.