Visual Studio Android 的模拟器无法在 macOS Sierra 上的 VMWare Fusion 中启动
Visual Studio emulator for Android not starting in VMWare Fusion on macOS Sierra
我已经在启用了虚拟 Hyper-V 的 VMware Fusion(最新版本)运行ning Windows10(最新版本,最新更新)上安装了 VS2017 15.7。
我使用 Xamarin Forms 模板创建了一个全新的项目。
我尝试在任何 Visual Studio Android 模拟器上 运行 它并且 none 似乎工作。
模拟器启动并似乎正常运行。
但是,Visual Studio 只是挂起,似乎从未真正将应用程序安装到模拟器上。一段时间后,如果我点击模拟器查看应用程序,我会在模拟器中看到黑屏。
我可以停止构建/部署并且 Visual Studio 有响应。
关于发生在我身上的事情,这是一个类似的post……
https://forums.xamarin.com/discussion/83756/visual-studio-android-emulator-black-screen-in-apps-periodically
post 中的解决方案是删除 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.0.10240.0\skus\android\xdesku.xml
文件并从文件中删除以下行:GuestDisplayProvider=”VsEmulator.OpenGLGuestDisplay”
)
我试过了,还是不行。
我将 VM 增加到 10 gig 和 4 个处理器,但还是不行。
我在 visual studio IDE 中取消选中 Android 属性的快速部署。此外,在 hyper-v 中,我选择了处理器兼容性并迁移到物理计算机以及用于模拟器的 2 个虚拟处理器。这些通常是影响 Android 模拟器在金属上正常工作的因素。
我很难过。我正在 运行 为 Android 使用 Visual Studio 模拟器。我什至在 VM 中禁用了 3D 图形和高分辨率视网膜。我收到 运行时间检查在部署到模拟器时失败。
相同的测试在我的 Windows 10 桌面上运行良好。
看起来这是 Microsoft 支持的解决方案:
其实是用Mac端的模拟器运行从windows端的VM访问过来的,这就是我需要的环境。我可以在需要时从 Windows 设置断点和调试,并为 iOS、Android 和 Windows 提供相同的开发环境。此外,如果我需要,Android 应用程序也将部署到连接的设备,以及这个 link 以使其在 Xamarin Android Player https://montemagno.com/debug-with-the-xamarin-android-player-from-visual/ 上运行。所以,看起来我现在已经准备好了。
回顾:
在 Mac 上启动模拟器。 (我用Mac VS 启动这个)
在 mac 上,从 Mac 的 VS 打开命令工具 | SDK 命令提示符
运行 这些命令
adb kill-server
lsof -iTCP -sTCP:LISTEN -P | grep 'emulator\|qemu'
(这将获取 mac 的 ip 地址)
cd /tmp
mkfifo 背管
nc -kl 5555 0 后管
(只要这个window是打开的,你就可以在VM端连接到它)
然后在 VM Machine 上,从 Visual Studio 打开工具 | Android | ABD 命令提示符
adb connect ip-address-of-the-mac:5555
然后您将在 VS 的下拉列表中看到一个未知的 vm 模拟器,用于将应用程序部署到。它会出现在mac这边。
我已经在启用了虚拟 Hyper-V 的 VMware Fusion(最新版本)运行ning Windows10(最新版本,最新更新)上安装了 VS2017 15.7。
我使用 Xamarin Forms 模板创建了一个全新的项目。
我尝试在任何 Visual Studio Android 模拟器上 运行 它并且 none 似乎工作。
模拟器启动并似乎正常运行。
但是,Visual Studio 只是挂起,似乎从未真正将应用程序安装到模拟器上。一段时间后,如果我点击模拟器查看应用程序,我会在模拟器中看到黑屏。
我可以停止构建/部署并且 Visual Studio 有响应。 关于发生在我身上的事情,这是一个类似的post…… https://forums.xamarin.com/discussion/83756/visual-studio-android-emulator-black-screen-in-apps-periodically
post 中的解决方案是删除 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.0.10240.0\skus\android\xdesku.xml
文件并从文件中删除以下行:GuestDisplayProvider=”VsEmulator.OpenGLGuestDisplay”
)
我试过了,还是不行。
我将 VM 增加到 10 gig 和 4 个处理器,但还是不行。
我在 visual studio IDE 中取消选中 Android 属性的快速部署。此外,在 hyper-v 中,我选择了处理器兼容性并迁移到物理计算机以及用于模拟器的 2 个虚拟处理器。这些通常是影响 Android 模拟器在金属上正常工作的因素。
我很难过。我正在 运行 为 Android 使用 Visual Studio 模拟器。我什至在 VM 中禁用了 3D 图形和高分辨率视网膜。我收到 运行时间检查在部署到模拟器时失败。
相同的测试在我的 Windows 10 桌面上运行良好。
看起来这是 Microsoft 支持的解决方案:
其实是用Mac端的模拟器运行从windows端的VM访问过来的,这就是我需要的环境。我可以在需要时从 Windows 设置断点和调试,并为 iOS、Android 和 Windows 提供相同的开发环境。此外,如果我需要,Android 应用程序也将部署到连接的设备,以及这个 link 以使其在 Xamarin Android Player https://montemagno.com/debug-with-the-xamarin-android-player-from-visual/ 上运行。所以,看起来我现在已经准备好了。
回顾: 在 Mac 上启动模拟器。 (我用Mac VS 启动这个)
在 mac 上,从 Mac 的 VS 打开命令工具 | SDK 命令提示符 运行 这些命令
adb kill-server
lsof -iTCP -sTCP:LISTEN -P | grep 'emulator\|qemu'
(这将获取 mac 的 ip 地址)
cd /tmp
mkfifo 背管
nc -kl 5555 0 后管
(只要这个window是打开的,你就可以在VM端连接到它)
然后在 VM Machine 上,从 Visual Studio 打开工具 | Android | ABD 命令提示符
adb connect ip-address-of-the-mac:5555
然后您将在 VS 的下拉列表中看到一个未知的 vm 模拟器,用于将应用程序部署到。它会出现在mac这边。