2015-04-09 8 views
18

Я создаю пустое приложение 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'.

Когда я открываю Hyper-V, я вижу ВМ в списке и показано, как работает. Когда я соединяю, я вижу экран консоли, как показано ниже

screen

ответ

6

После много поиска я получил эту работу. Надеюсь это поможет. Я нашел это в комментариях к MSDN Article for Android Emulator with Visual Studio 2015

Новые изображения могут работать, если вы отключите OpenGL, перейдя в Program Files (или Program Files x86, если вы на 64-разрядной машине) \ Microsoft XDE \ 10.0.0.0 \ SKU \ Android \ xdesku.xml и удаление этой строки: GuestDisplayProvider = "VsEmulator.OpenGLGuestDisplay". Однако без включения OpenGL вы не сможете воспользоваться многими новыми функциями.

+4

Я просто пробовал это с некоторым успехом. В окне XDE отображается 'OS is start', и он был там очень долго. Когда я открываю гипер-v и 'Connect' для текущей VM, он понимает, что он успешно загрузился, и я могу с ним взаимодействовать. Я думаю, что теперь проблема заключается в том, чтобы XDE распознать ее. – ritcoder

+0

Эта настройка работает для меня is.VMware Player 7. 2 процессора. Виртуализируйте Intel VT-x/EPT или AMD-V/RVI, а также виртуализируйте счетчик производительности процессора. Я также в файле VMX для своей виртуальной машины добавил hypervisor.cpuid.v0 = "FALSE" и сохранил файл. (Примечание: вам, возможно, потребуется добавить строку в несколько строк снизу, поскольку она удалила ее после открытия виртуальной машины, если бы она была в нижней части файла). Все эти шаги вместе открывают эмулятор Android в окне XDE. Затем я могу использовать инструменты для поворота и наклона устройства и просмотра изменения окна XDE с пейзажа на портрет и т. Д. –

+0

Вы хотите установить VMware Player? Не будет мешать гипер-v? – ritcoder

20

Я столкнулся с той же проблемой. Я попытался отключить OpenGL, удалив: GuestDisplayProvider = «VsEmulator.OpenGLGuestDisplay» в xdesku.xml, как это предложено в других ответах.

Сначала виртуальная машина загрузится (вы можете подключиться к ней из диспетчера Hyper-V), но само окно эмулятора не будет подключаться к аппарату (застрял на «ОС запускается», а затем после looooong, в то время как со следующим сообщением: «Эмулятор не может подключиться к операционной системе устройства: не удалось автоматически определить IP-адрес гостевой системы. Некоторые функции могут быть отключены.»)

Этот ответ https://stackoverflow.com/a/31698124/1010492 и тот https://stackoverflow.com/a/14402740/1010492 помог мне решить проблему подключения, и я смог отобразить виртуальную машину внутри окна эмулятора.

Однако эмулятор не работал должным образом (проблемы масштабирования, без кнопок «Главная», «Назад» и т. Д.), Пока я не вернул строку «VsEmulator.OpenGLGuestDisplay» и после удаления моих профилей и перезагрузки несколько раз.

Подводя итог, если вы столкнулись с таким же вопросом на компьютере с поддержкой Hyper-V, вы можете попробовать --Нады conscious-- следующие шаги:

  1. В идеале, удалить любого другая Виртуализация программное обеспечение, такие как VMWare, Virtual Box и клиенты VPN, такие как Cisco VPN (если вы не можете сделать это, пожалуйста, будьте бдительны на шаге 13)
  2. Reboot
  3. в диалоговом окне «Visual Studio Emulator для Android», удалить все установленные профили устройства
  4. Удалить все виртуальные коммутаторы Hyper-V - перейти в Hyper-V> Диспетчер виртуальных коммутаторов> Удалить все виртуальные коммутаторы
  5. Запустить XdeCleanup.exe (обычно в папке «C: \ Program Files» (x86) \ Microsoft XDE \ 10.0.10240 ,0")
  6. удалить также любые дополнительные виртуальные сетевые адаптеры, оставшиеся в „Панели управления> Сети и Интернет> Сетевые подключения“ (после выполнения предыдущих шагов, вы, как правило, должны быть оставлены только с физическими адаптерами)
  7. Убедитесь Общий доступ к сети отключен на всех сетевых адаптеров (правой кнопкой мыши, Свойства, общий доступ, снимите галочку «Разрешить другим пользователям сети для подключения через подключение к Интернету данного компьютера»)
  8. Если бы вы удалили строку GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay" в xdesku.xml (как правило, в «C: \ Program Files (x86) \ Microsoft XDE \ 10.0.10240.0 \ SKUs \ Android"), ТЕПЕРЬ ХОРОШЕЕ ВРЕМЯ, ЧТОБЫ ВСТАВАТЬСЯ НАЗАД.
  9. Reboot
  10. Вы можете попытаться восстановить эмуляторы: перейти на Программы и компоненты> Microsoft Visual Studio Emulator для Android> Изменить и хит «Ремонт» (хотя я должен сказать, что это всегда терпит неудачу для меня)
  11. Reboot
  12. Откройте Visual Studio Emulator для Android и установить затем запустить один из профилей (например: 7 '' KitKat (4,4) XHDPI Tablet - Подобно Asus Google Nexus 7)
  13. Это, возможно, уже но если нет, убедитесь, что сетевые адаптеры настроены правильно. Остановите свой эмулятор, затем перейдите на страницу Панель управления> Сеть и Интернет> Сетевые подключения, а затем нажмите на адаптеры vEthernet, затем выберите Свойства и убедитесь, что только имеют следующие флажки в списке Networking (как описано в Interference from other virtualization or networking software and drivers: Клиент для сетей Microsoft, Планировщик пакетов QoS, Файл и общий доступ к принтерам для сетей Microsoft, протокол Microsoft LLDP Драйвер, драйвер топологии топологий Link-Layer, интерфейс Link-Layer Топологический ответчик, протокол интернет-версии 6 (TCP/IPv6), Протокол Интернета версии 4 (TCP/IPv4)
  14. Перезагрузка
  15. Попробуйте запустить эмулятор снова в «Visual Studio Emulator для Android»
  16. Если он все еще не работает, попробуйте удалить и заново профили, и грузы перезагрузок ...

Там вероятно, некоторые шаги избыточности здесь, но я думаю, что он охватывает все, что вы должны попробовать (ключ, похоже, требует правильной настройки сетевых адаптеров). Если у меня что-то не хватает или если вы считаете, что некоторые шаги бесполезны, прокомментируйте.

+0

Наконец-то! Я прошел через множество разных «решений», но это было для меня. Моя проблема заключалась в том, что виртуальная машина Android действительно запускалась и работала, когда я запускал ее непосредственно из гипер-v-менеджера (или того, что когда-либо называлось), но эмулятор vs просто дал мне «неизвестные коды выхода». Благодаря! – Dave81

+0

Ваше решение сработало для меня. Я заметил, что это произошло после того, как я играл с настройками адаптера Ethernet, по-видимому, Hyper-V не любит менять сетевые настройки. –

0

Я добавляю отдельный ответ, хотя понимание обеспечивается Gyum Фокс предоставил ключи мне нужно попробовать другие вещи ...

[Примечание: В последний раз я был в состоянии использовать эмуляторы (~ 3 недели назад) У меня была отключена беспроводная связь и я использовал проводное соединение на своем ноутбуке Dev. У меня закончилось свободное место на моем коммутаторе, поэтому он снова включил беспроводную сеть в качестве единственного варианта подключения. Это может быть совершенно случайно, но прочесть, и я позволю вам решить.]

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

Разве вы не знаете это ... это сработало без проблем!8-}

Как только я запустил эмулятор, я снова включил беспроводную сеть, и эмулятор поднял соединение.

Я не сетевой парень, поэтому я даже не собираюсь пытаться понять. Это небольшая PITA, но эй ... если она работает !!! ; -}

28

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

Я была такая же проблема (застрял на «OS Is Starting») для API v 21 & 22. Изображение API v23 начнется, но не сможет отлаживаться - приложение будет аварийно завершено, как только оно запустится.

Следующая констатировала вопрос:

  • Выключите эмулятор
  • Open Hyper-V менеджер
  • Перейти к настройкам для Android Image
  • разверните узел Конфигурация "Processor"
  • Перейти к узлу «Совместимость»
  • Проверьте «Перенос на физический компьютер с другой версией процессора» opti на

Видимо, что-то делать с новой архитектурой процессора несовместима с Android изображения или что-то подобное - на самом деле не волнует, до тех пор, как она работает :)

+0

Это была моя проблема. Появятся изображения API 21 и 22, но VS не сможет развернуть приложение. Включение этой опции работало красиво. Благодаря! – Ionian316

+0

Спасибо! Это было единственное решение на этой странице, которое работало для меня на Surface Pro 4 (i7 6650U) – Nande

+0

. Это также разрешило мои проблемы с устройствами API 21, 22 и 23. 21 и 22 не пройдут «OS Is Starting» и 23, приложение настроек разбилось, когда я нажал «О телефоне», чтобы попытаться включить настройки разработчика. Если кто-то еще столкнулся с этим, это делает React Native, вам также нужно запустить 'adb reverse tcp: 8081 tcp: 8081'. – FLGMwt

1

На моей системе я получил он снова работает после включения отключенного vEthernet (внутреннего внутреннего Ethernet-адаптера внутреннего телефона Ethernet-коммутатора). Мне не пришлось перезагружаться.

+0

Jepp, это было мое решение! Спасибо Барту, немного стыдно за старого сетевого инженера, чтобы он не нашел его сам;) Даже не смотрел в настройках сети, пока я не прочитал это. и да, это было неактивно, из-за установки виртуального ящика на прошлой неделе. – JimiSweden

1

Я прошел через шаги в ответе @ Гьюм Фокс и до сих пор не испытываю радости для меня.

Пока Visual Studio Emulator для Android создает первый экземпляр эмулятора, также создается несколько виртуальных сетевых коммутаторов. Для ноутбука обычно создаются три экземпляра vEthernet; один для проводной локальной сети, один для Wi-Fi и другой внутренний виртуальный коммутатор для гостевых подключений.

В моем случае vEthernet для проводной локальной сети был успешно создан, а затем был виден эмулятор Visual Studio для Android. Это можно наблюдать из Hyper-V Manager и Виртуальный коммутатор.

Использование диспетчера виртуальных коммутаторов Я успешно создал отсутствующий виртуальный коммутатор Wi-Fi с этими шагами. Ну, в конечном счете это сработало. Читай дальше.

  1. Под виртуальных коммутаторов списка, выберите Новый переключатель виртуальной сети ...
  2. Под Какой тип виртуального коммутатора вы хотите создать?, выберите Внешние.
  3. Под номером Внешняя сеть: выпадающий список, выберите адаптер Wi-Fi.
  4. Нажмите Создать виртуальный коммутатор.
  5. Изменить Имя:, чтобы соответствовать имени вашего адаптера Wi-Fi.
  6. Нажмите Нанесите кнопку.

В моем случае, хотя, после нажатия Применить, сообщение о неисправности указывается адаптер Wi-Fi был мостиком. Хммм.

Я запустил Просмотр сетевых подключений апплет панели управления и адаптер Wi-Fi не показали, что он был соединен мостом. (Когда существует сетевой мост, Состояние имеет слово Мостовое подключение.) Я подозреваю, что где-то в реестре скрывались пылевые цифровые биты.

Вот что расчистило проблему для меня.

  1. Щелкните правой кнопкой мыши устройство Wi-Fi.
  2. Выбрать Добавить в корзину.
  3. Щелкните правой кнопкой мыши на устройстве Wi-Fi, снова.
  4. Выбрать Удалить из Bridge.

Теперь вернитесь к шагам, чтобы создать виртуальный коммутатор для сети Wi-Fi. Эти шаги должны завершиться успешно.

И теперь вы можете вернуться к созданию эмуляторов Android, которые вы хотите.

Заключительная мысль ... Если вы не видите каких-либо виртуальных коммутаторов, я подозреваю, что это может означать, что проводная локальная сеть может иметь пыльные цифровые биты, подвешивающие вас. В этом случае я бы попробовал трюк add-and-remove-from-bridge на проводном адаптере локальной сети, чтобы убедиться, что это все ясно для вас.

И теперь я полагаю, что достаточно просто сделать трюк с добавлением и удалением от сетевого адаптера без создания виртуального коммутатора. Для меня создание виртуального коммутатора было доказательством того, что проблема была исправлена. YMMV ;-)

1

Я обнаружил, что моя проблема связана с брандмауэром Windows с некоторыми политиками предприятия, которые моя компания применяла ко всем компьютерам. Как только я остановил службу брандмауэра Windows, он работал нормально.

1

У меня также была эта проблема, и это было не только для эмуляторов Android, но и для всех эмуляторов телефонов Windows.

Это то, что я сделал, чтобы исправить эту проблему

  • Удаление Genymotion и Virtual Box (у меня было это в моей системе, и это не решило проблему)
  • Удалены все виртуальные адаптеры. это сложная часть. Ни один из адаптеров не смог удалить из виртуального менеджера Hyper-V.Мне пришлось использовать powershell и запустить remove-vmswitch -Name «Имя V-адаптера» -force Кроме того, из этого я не смог удалить все адаптеры, и я нашел эту ссылку «https://social.technet.microsoft.com/Forums/windowsserver/en-US/e49df568-4f4c-47b7-b30c-952d1e26ca58/cant-remove-failed-virtual-switch-from-hypervs-virtual-switch-manager?forum=winserverhyperv» и удалил все виртуальные адаптеры
  • перезагрузка компьютера
  • После этого не было никаких V адаптеров в виртуальном диспетчере Hyper-V
  • Запустите XdeCleanup.exe (на всякий случай)

  • Кроме того, я отключил брандмауэр от моего вируса охрана

После этого я смог запустить эмулятор из «Visual Studio Эмуляторы для Android»

0

На моей машине я мог бы запустить эмулятор, но я получил ошибку OpenGL при попытке развертывания и отладки. Я понял, что мои проблемы начались после того, как я установил Docker. По прихоти я решил закрыть Docker и отключить сетевое подключение vEthernet (DockerNAT). Это исправило мою проблему. Теперь, когда мне нужно использовать эмулятор Andoird, я должен закрыть Docker. Затем, когда я закончил отладку, я включаю/перезапускает Docker.

0

Одна из причин, по которым я столкнулся с этой проблемой, заключается в том, что я не установил Android SDK в местоположение по умолчанию. Поэтому я должен был следовать этим инструкциям, чтобы иметь возможность отлаживать мое приложение: https://msdn.microsoft.com/en-us/library/mt228282.aspx#ADB

Мне пришлось создать папку «Android SDK Tools» и добавить ключ «Путь» со значением для моего SDK, который в моем Случай был «E: \ Android \ Android_SDK»

 Смежные вопросы

  • Нет связанных вопросов^_^