Эмулятор Cordova android перестает работать
Я создаю приложение для Android с помощью Cordova. Эмулятор Android отлично работал, но я не использовал его, потому что я установил эмулятор Ripple. Я продолжал создавать свое приложение, но где-то эмулятор был поврежден.
Когда я выполняю следующее:
cordova create test
cordova platform add android
cordova build
cordova emulate
Результаты со следующей ошибкой:
Error: An error occurred while emulating/deploying the android project.
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
]
У меня есть Cordova 3.2 и Android 4.3 API, а также 4.4. Я попытался переустановить Кордову с помощью
npm uninstall cordova
И снова установите его, но он все равно производит ту же ошибку. Я также переустановил Android SDK. Это журнал, когда я запускаю run.bat -emulator:
['adb devices', null, 'Список подключенных устройств \r\n\r\n', '']
exec: android list avds
['avdes list avds', ноль, 'Доступные виртуальные устройства Android:\n Имя: AVD_for_Nexus_S\n Путь: C: \\
Пользователи \\Evers \\. Android\\avd\\AVD_for_Nexus_S.avd\n Цель: Android 4.4 (API lev
el 19)\n ABI: armeabi-v7a\n Кожа: 480x800\n ', '']
exec: android list avds
['avdes list avds', ноль, 'Доступные виртуальные устройства Android:\n Имя: AVD_for_Nexus_S\n Путь: C: \\
Пользователи \\Evers \\. Android\\avd\\AVD_for_Nexus_S.avd\n Цель: Android 4.4 (API lev
el 19)\n ABI: armeabi-v7a\n Кожа: 480x800\n ', '']
ВНИМАНИЕ: эмулятор не указан, по умолчанию AVD_for_Nexus_S
Ожидание эмулятора...
exec: устройства adb
events.js: 72 бросать эр;//Необработанное событие 'error'
Любые подсказки?
Ответы
Ответ 1
Просто повторите запуск после запуска эмулятора вручную.
Создать эмулятор
- введите
android
в cmd и нажмите Enter, появится GUI.
- В разделе "Инструменты" нажмите "управлять AVD" и следуйте дальнейшим инструкциям по созданию нового AVD.
Запустить эмулятор
-
emulator.exe -avd *avdname*
в cmd (подождите несколько минут для полного запуска)
- теперь re run cordova. он будет работать.
Ответ 2
Я сам получил ту же ошибку, могут быть 3 проблемы:
эмулятор использует файл apk, сгенерированный в папке platform/android/bin. иногда это отсутствует, поэтому убедитесь, что:
- cd platform/android
- ant clean
- ant debug
Будет ли отсутствовать файл apk, если отсутствует.
Вторая проблема, возможно, пришла с добавлением ее в эмулятор, который должен быть запущен до:
Как установить apk на эмулятор в Android Studio?
Существует также возможность удаления и создания виртуальной машины Android с помощью:
AVD на http://developer.android.com/tools/devices/index.html
надеюсь, что это поможет, дайте мне знать. Документация об этой ошибке очень мало.
Ответ 3
@Tech Pro
Кордоба 3.2 нуждается в Android KITKAT версии sdk. Таким образом, проблема заключается в вашей версии Android SDK. Существует два решения этой проблемы.
Решение: 1
Обновите свой Android SDK до последней версии или перейдите на версию 3.0 Кордовы, как показано на @Evers
Решение: 2:
Если вы не хотите обновлять версию Android SDK или версию Кордовы с понижением, выполните следующие шаги.
- Найдите файл CordovaWebView.java({project}\platform\android\CordovaLib\src\org\apache\cordova)
- Перейдите в Line No-296 и обновите код следующим образом: "android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KIT_KAT". Измените свой код версии в соответствии со своей версией SDK по этой ссылке http://developer.android.com/reference/android/os/Build.VERSION_CODES.html. Пример: если у вас есть Android 4.2, то запустите KITKAT в JELLY_BEAN.
- Вывод строки № 299, т.е. //setWebContentsDebuggingEnabled (true);
- Теперь выполните шаги, указанные @snake. то есть ant clean и ant debug.
Я надеюсь, что это сработает
Ответ 4
@Tech Pro Эта ошибка может быть вызвана недокументированным фактом, что виртуальная машина должна быть запущена + разблокирована до отправки команды эмулирования.
Убедитесь, что виртуальная машина была создана диспетчером виртуальных устройств Android с помощью следующей команды:
android avd
Убедитесь, что версии верны с совместимостью для вашего приложения:) Извините, что получил последний ответ!
Ответ 5
Я играл с учебным семинаром в Кордове и сталкивался с аналогичной проблемой, когда эмулятор Android не запускался. Я проверил вышеупомянутый ответ, но он все еще не работал у меня. Итак, вот что я сделал (я использую Windows 7):
-
Я запустил менеджер AVD (Android Virtual device)
:
start->programs->Android SDK Tools->AVD
Менеджер.
-
Я заметил, что для одной записи, указанной для Nexus_5_API_21_X86
, была?? " рядом с платформой и другими столбцами. Это заставило меня задаться вопросом, почему.
-
Я нажимаю "Edit
" и указываю целевую платформу и другие отсутствующие поля.
-
Нажмите "Пуск", чтобы запустить AVD
. Через минуту вы также увидите экран дисплея эмулятора Android.
-
rerun cordova (c:\Cordova\workshop>cordova emulate android)
-
Voila! Окно команды затем отображает ход компиляции, и, наконец, вы должны увидеть сообщения ниже. Через несколько минут вы сможете найти свое приложение на эмуляторе Android.
BUILD SUCCESSFUL
Total time: 1 mins 10.307 secs
Built the following apk(s):
C:\Cordova\workshop\platforms\android\build\outputs\apk\android-debug.apk
Installing app on emulator...
Using apk: C:\Cordova\workshop\platforms\android\build\outputs\apk\android-debug.apk
Launching application...
LAUNCH SUCCESS
Надеюсь, это поможет!
Ответ 6
Наконец-то я нашел работу. Я не знаю, почему Cordova 3.2 не может автоматически запускать эмулятор в моей системе, потому что он работает на моем ноутбуке. Снижение до 3.0, похоже, устраняет проблему:
npm uninstall cordova
npm install -g [email protected]
Ответ 7
Моя проблема была связана с тем, что я управлял менеджером Android sdk через символическую ссылку (у меня это было при usr/local/bin
). Он начал работать, когда я положил свой $ANDROID_HOME/tools
в свой PATH и удалил символические ссылки.