Эмулятор Visual Studio для Android не запускается в VMWare Fusion на macOS Sierra

Я установил VS2017 15.7 на VMware Fusion (последняя версия) под управлением Windows 10 (последняя версия, последние обновления) с включенным виртуальным Hyper-V.

Я создал новый проект, используя шаблон Xamarin Forms.

Я пытался запустить его на любом из эмуляторов Android Visual Studio, и ни один из них не работает.

Эмулятор запускается и работает.

Однако Visual Studio просто зависает и никогда не устанавливает приложение на эмулятор. Через некоторое время, если я нажму на эмулятор, чтобы просмотреть приложения, я получу черный экран в эмуляторе.

Я могу остановить сборку/развертывание, и Visual Studio реагирует. Вот похожий пост о том, что происходит со мной… rel="nofollow noreferrer">https://forums.xamarin.com/discussion/83756/visual-studio-android-emulator-black-screen-in-apps-periodically

В этом посте было решено удалить строку в файле xdesku.xml https://creativewebspecialist.co.uk/2015/07/22/how-to-use-visual-studio-android-emulator-on.-vmware-fusion/
(файл In Windows, you’ll need to edit the c:\program files (x86)\Microsoft XDE\10.0.10240.0\skus\android\xdesku.xml и удалить из файла следующую строку: GuestDisplayProvider=”VsEmulator.OpenGLGuestDisplay”)

Я пробовал это, но все равно не повезло.

Я увеличил виртуальную машину до 10 гигабайт и 4 процессора, но все равно не повезло.

Я отключил быстрое развертывание в Visual Studio IDE для свойств Android. Кроме того, в Hyper-V я выбрал совместимость процессоров и перенес их на физический компьютер, а также на 2 виртуальных процессора для эмуляторов. Обычно это то, что мешает корректной работе эмуляторов Android на металле.

Я в тупике. Я запускаю эмулятор Visual Studio для Android. Я даже отключил 3D-графику, а также сетчатку с высоким разрешением в виртуальной машине. Я получаю сообщения о том, что при развертывании в эмуляторе не удалось выполнить проверку во время выполнения.

Тот же тест отлично работает на моем рабочем столе Windows 10.


person Russ Fustino    schedule 17.05.2018    source источник
comment
Странно... это работает, когда вы развертываете его на физическом устройстве? Кроме того, происходит ли это с любым приложением, даже с простым Hello World? Если да, то укажите это в вопросе. (Я также в недоумении, почему кто-то проголосовал за это, вопрос показывает более чем достаточные исследовательские усилия).   -  person S.L. Barth    schedule 17.05.2018
comment
Да, я могу развернуть на физическом устройстве. И это приложение Hello World Xamarin Forms, которое обновит вопрос. Я только что попробовал это с Parallels и получил тот же результат. У кого-нибудь есть эмулятор VS для Android, работающий на любой виртуальной машине?   -  person Russ Fustino    schedule 17.05.2018
comment
Вы пытались использовать команду adb для установки приложения?   -  person Robbit    schedule 18.05.2018
comment
@JoeLv-MSFT Пока работает эмулятор VS для Android, и я запрашиваю подключенные устройства с помощью устройств adb в командной строке ADB, я получаю пустой список в виртуальной машине. На металл получаю обратно IP адрес эмулятора. Надеюсь, еще одна подсказка?   -  person Russ Fustino    schedule 18.05.2018


Ответы (1)


Похоже, это поддерживаемое решение от Microsoft:

https://docs.microsoft.com/en-us/xamarin/android/troubleshooting/questions/connect-android-emulator-mac-windows

На самом деле он использует эмулятор, работающий на стороне Mac, доступ к которому осуществляется с виртуальной машины на стороне Windows, что мне и нужно. Я могу устанавливать точки останова и выполнять отладку из Windows, когда это необходимо, и иметь одну и ту же среду разработки для iOS, Android и Windows. Кроме того, приложения Android будут развертываться на подключенном устройстве, если мне это нужно, а также по этой ссылке, чтобы заставить его работать на Xamarin Android Player https://montemagno.com/debug-with-the-xamarin-android-player-from-visual/ . Итак, похоже, что я все настроен на этом сейчас.

Резюме: запустите эмулятор на Mac. (Я использую Mac VS, чтобы начать это)

На Mac из VS для Mac откройте команду Tools | Командная строка SDK Запустите эти команды

adb kill-сервер

lsof -iTCP -sTCP:LISTEN -P | grep 'эмулятор\|qemu'

(это получит IP-адрес Mac)

компакт-диск /tmp

бэкпайп mkfifo

nc -kl 5555 0 обратная труба

(пока это окно открыто, вы можете подключиться к нему на стороне ВМ)

Затем на виртуальной машине из Visual Studio откройте Tools | Андроид | Командная строка АБД

adb connect IP-адрес Mac: 5555

Затем вы увидите эмулятор Unknown vm в раскрывающемся списке в VS для развертывания приложения. Он появится на стороне Mac.

person Russ Fustino    schedule 21.05.2018