Эмулятор андроидов Visual Studio не запустится полностью
Я создаю пустое приложение cordova в visual studio 2015 и начинаю отладку с помощью визуальных анимированных эмуляторов Android (сначала с леденцом, а затем с kitkat). XDE начинается, и на экране отображается OS is starting...
. Он так долго сохраняется, пока не отобразит
The emulator is unable to connect to the device operating system;
The device did not response to the connect request.
Some functionalities might be disabled'
После закрытия диалога он остается там навсегда, пока я не убью эмулятор. Убивание эмулятора вызывает ошибку из визуальной студии.
Could not start emulated device 'VS Emulator Lollipop Phone'.
Когда я открываю гипер-v, я вижу vm в списке и отображается как работающий. Когда я подключаюсь, я вижу экран консоли ниже
![screen]()
Ответы
Ответ 1
Я знаю, что эта проблема существует некоторое время, но я только что нашел новое решение для людей, которые могут все еще сталкиваться с этой проблемой...
У меня была такая же проблема (застряли на "OS Is Starting" ) для API v 21 и 22. Начались изображения API v23, но не удалось отладить - приложение сразу же после сбоя сработает.
Исправлена проблема:
- Выключить эмулятор
- Открыть диспетчер Hyper-V
- Перейдите в настройки изображения Android
- Разверните конфигурацию "Процессор" node
- Перейдите в раздел "Совместимость" node
- Установите флажок "Перенести на физический компьютер с другой версией процессора"
По-видимому, это связано с тем, что новые архитектуры процессоров несовместимы с изображениями Android или что-то в этом роде - на самом деле все равно, если это работает:)
Ответ 2
Я столкнулся с той же проблемой. Я попытался отключить OpenGL, удалив: GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay" в xdesku.xml, как это было предложено в других ответах.
Сначала виртуальная машина загрузится (вы можете подключиться к ней из диспетчера Hyper-V), но само окно эмулятора не будет подключаться к машине (застрял на "ОС запускается", а затем после сбоя в то время как со следующим сообщением: "Эмулятор не может подключиться к операционной системе устройства: не удалось автоматически определить IP-адрес гостевой системы. Некоторые функции могут быть отключены." )
Этот ответ fooobar.com/questions/115252/... и что fooobar.com/questions/92903/... помог мне решить проблему подключения и Я смог отобразить виртуальную машину внутри окна эмулятора.
Однако эмулятор не работал должным образом (проблемы масштабирования, без кнопок "Главная", "Назад" и т.д.), пока я не вернул строку "VsEmulator.OpenGLGuestDisplay" и после удаления моих профилей и перезагрузки несколько раз.
Подводя итог, если вы столкнулись с одной и той же проблемой на компьютере с поддержкой Hyper-V, вы можете попробовать использовать "-верение" - следующие шаги:
- В идеале удалите любое другое программное обеспечение Virtualisation, такое как VMWare, Virtual Box и VPN-клиенты, такие как Cisco VPN (если вы не можете сделайте это, пожалуйста, будьте бдительны на шаге 13).
- Reboot
- В диалоговом окне "Visual Studio Emulator for Android" удалите все установленные профили устройств.
- Удалить все виртуальные коммутаторы Hyper-V - перейдите в Hyper-V > Диспетчер виртуальных коммутаторов > Удалите все виртуальные коммутаторы
- Запустите XdeCleanup.exe(обычно в "C:\Program Files (x86)\Microsoft XDE\10.0.10240.0" )
- Также удалите все дополнительные виртуальные сетевые адаптеры, оставшиеся в "Панель управления > Сеть и Интернет > Сетевые подключения" (после предыдущие шаги, вы, как правило, должны иметь только физические адаптеры)
- Убедитесь, что общий доступ к сети отключен на всех сетевых адаптерах (щелкните правой кнопкой мыши, "Свойства", "Разделить", "Отключить" ). Разрешить другим пользователям сети для подключения через это интернет-подключение к компьютеру ")
- Если вы удалили строку
GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay"
в xdesku.xml(обычно в" C:\Program Files (x86)\Microsoft XDE\10.0.10240.0\SKUs\Android "), ТЕПЕРЬ ХОРОШЕЕ ВРЕМЯ ДЛЯ ВЕРНУТЬСЯ НАЗАД. - Reboot
- Возможно, вы захотите исправить эмуляторы: перейдите в раздел Программы и компоненты > Microsoft Visual Studio Emulator для Android > Изменить и нажмите" Repair "(хотя я должен сказать, что это всегда терпит неудачу для меня).
- Reboot
- Откройте Visual Studio Emulator для Android и установите затем запустить один из профилей (например: 7 '' KitKat (4.4) XHDPI Tablet - аналогично Asus Google Nexus 7)
- Возможно, он уже работает, но если нет, убедитесь, что сетевые адаптеры настроены правильно. Остановите свой эмулятор, затем перейдите к Панель управления > Сеть и Интернет > Сетевые подключения и правые щелкните адаптеры vEthernet, затем Properties и убедитесь, что вы только в списке" Сеть "отмечены следующие поля: в Вмешательство из другой виртуализации или сетевого программного обеспечения и драйверов: Клиент для сетей Microsoft, Планировщик пакетов QoS, Файл и общий доступ к принтерам для сетей Microsoft, протокол Microsoft LLDP Драйвер, Link-Layer Topology Discovery Mapper Драйвер ввода-вывода, Link-Layer Топологический ответчик, интернет-протокол версии 6 (TCP/IPv6), Протокол Интернета версии 4 (TCP/IPv4)
- Reboot
- Попробуйте снова запустить эмулятор в" Visual Studio Emulator для Android".
- Если он все еще не работает, попробуйте удалить и воссоздать профили и загрузить перезагрузки...
Здесь, вероятно, есть несколько этапов избыточности, но я думаю, что он охватывает все, что вы должны попробовать (ключ, похоже, требует правильной настройки сетевых адаптеров). Если я пропустил некоторые вещи или, если вы считаете, что некоторые шаги бесполезны, прокомментируйте.
Ответ 3
После многих поисков я получил эту работу. Надеюсь это поможет. Я нашел его в комментариях к статье MSDN для эмулятора Android с Visual Studio 2015
Новые изображения могут работать, если вы отключите OpenGL, перейдя в Program Files (или Program Files x86, если вы на 64-разрядной машине)\Microsoft XDE\10.0.0.0\SKUs\Android\xdesku.xml и удалите эта строка: GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay". Однако без включения OpenGL вы не сможете воспользоваться многими новыми функциями.
Ответ 4
В моей системе я снова запустил ее после включения отключенного vEthernet (внутреннего внутреннего внутреннего коммутатора эмулятора внутреннего Ethernet-порта Ethernet).
Мне не пришлось перезагружаться.
Ответ 5
Я прошел через шаги в ответе @Gyum Fox и до сих пор не радовался для меня.
Пока Visual Studio Emulator для Android создает первый экземпляр эмулятора, также создается несколько виртуальных сетевых коммутаторов. Для ноутбука обычно создаются три экземпляра vEthernet; один для проводной локальной сети, один для Wi-Fi и другой внутренний виртуальный коммутатор для гостевых подключений.
В моем случае vEthernet для проводной локальной сети был успешно создан, а процесс Visual Studio Emulator для Android зависал. Это можно наблюдать из менеджера Hyper-V Manager и Диспетчера виртуальных коммутаторов.
Используя Диспетчер виртуальных коммутаторов, я успешно создал отсутствующий виртуальный коммутатор Wi-Fi с этими шагами. Ну, в конечном счете это сработало. Читайте дальше.
- В списке Виртуальные коммутаторы выберите Новый переключатель виртуальной сети...
- В разделе Какой тип виртуального коммутатора вы хотите создать?, выберите Внешний.
- В раскрывающемся списке Внешняя сеть: выберите адаптер Wi-Fi.
- Нажмите кнопку Создать виртуальный коммутатор.
- Измените Имя: в соответствии с именем вашего адаптера Wi-Fi.
- Нажмите кнопку Применить.
В моем случае, однако, после нажатия Применить сообщение об ошибке указывало, что адаптер Wi-Fi был подключен. Хммм.
Я запустил апплет Просмотр сетевых подключений, а адаптер Wi-Fi не показал, что он был соединен с мостом. (Когда существует сетевой мост, в столбце Статус добавлено слово Мостовое.) Я подозреваю, что где-то в реестре скрываются пылевые цифровые биты.
Вот что я понял для меня.
- Щелкните правой кнопкой мыши на устройстве Wi-Fi.
- Выберите Добавить в Bridge.
- Еще раз щелкните правой кнопкой мыши на устройстве Wi-Fi.
- Выберите Удалить из Bridge.
Теперь вернемся к шагам, чтобы создать виртуальный коммутатор для сети Wi-Fi. Этапы должны быть успешно завершены.
И теперь вы можете вернуться к созданию эмуляторов Android, которые вы хотите.
Одна последняя мысль... Если вы не видите, что какие-либо виртуальные коммутаторы создаются, я подозреваю, что это может означать, что проводная локальная сеть может иметь пыльные цифровые биты, подвешивающие вас. В этом случае Id попробуйте использовать трюк add-and-remove-from-bridge на проводном адаптере локальной сети, чтобы убедиться, что это ясно для вас.
И теперь я полагаю, что достаточно просто сделать трюк add-and-remove-from-bridge на сетевом адаптере без создания виртуального коммутатора. Для меня создание виртуального коммутатора было доказательством того, что проблема была исправлена. YMMV; -)
Ответ 6
Я обнаружил, что моя проблема связана с брандмауэром Windows с некоторыми политиками предприятия, которые моя компания применила ко всем компьютерам. Как только я остановил службу брандмауэра Windows, он работал нормально.
Ответ 7
У меня также была эта проблема, и это было не только для эмуляторов Android, но и для всех эмуляторов телефонов Windows.
Это то, что я сделал, чтобы исправить проблему.
После этого я смог запустить эмулятор из "Visual Studio Emulators для Android"
Ответ 8
Я добавляю отдельный ответ, хотя прозрение, предоставленное Gyum Fox, предоставило ключи, которые мне нужны, чтобы попробовать другие вещи...
[ПРИМЕЧАНИЕ. В последний раз, когда я мог использовать эмуляторы (~ 3 недели назад), у меня отключилась беспроводная связь, и я использовал проводное соединение на своем ноутбуке Dev. У меня закончилось свободное место на моем коммутаторе, поэтому он снова включил беспроводную сеть в качестве единственного варианта подключения. Это может быть совершенно случайно, но читайте дальше, и я позволю вам решить.]
После выполнения шагов Gyum без успеха я решил отключить беспроводную сеть, а затем попытаюсь запустить эмулятор.
Разве вы не знали бы это... он работал без проблем! 8 -}
Как только я запустил эмулятор, я снова включил беспроводную сеть, и эмулятор подключился к ней.
Я не парень сети, поэтому я даже не собираюсь пытаться понять. Это небольшая PITA, но эй... если она работает!!!; -}
Ответ 9
На моей машине я могу запустить эмулятор, но при попытке развертывания и отладки у меня возникла ошибка OpenGL. Я понял, что мои проблемы начались после того, как я установил Docker. По прихоти я решил закрыть Docker и отключить сетевое подключение vEthernet (DockerNAT). Это исправило мою проблему. Теперь, когда мне нужно использовать эмулятор Andoird, я должен закрыть Docker. Затем, когда я закончил отладку, я включаю/перезапускает Docker.
Ответ 10
Одна из причин, по которой я столкнулся с этой проблемой, заключается в том, что я не установил Android SDK в папку по умолчанию. Поэтому я должен был следовать этим инструкциям, чтобы иметь возможность отлаживать мое приложение: https://msdn.microsoft.com/en-us/library/mt228282.aspx#ADB
Мне пришлось создать папку "Android SDK Tools" и добавить ключ "Путь" со значением для моего SDK, который в моем случае был "E:\Android\Android_SDK"