繁体   English   中英

Visual Studio android模拟器无法完全启动

[英]Visual studio android emulator will not start fully

我在visual studio 2015中创建了一个空白的cordova应用程序,并开始使用visual studio 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'

关闭对话框后,它会一直存在,直到我杀死模拟器。 杀死模拟器会触发visual studio的错误。

Could not start emulated device 'VS Emulator Lollipop Phone'.

当我打开hyper-v时,我在列表中看到vm并显示为正在运行。 当我连接时,我看到如下控制台屏幕

屏幕

我知道这个问题已经存在了一段时间了,但我刚刚为可能仍会遇到这个问题的人找到了一个新的解决方案......

对于API v 21和22,我遇到了同样的问题(坚持“OS正在启动”).API v23图像将启动,但无法调试 - 应用程序一启动就会崩溃。

以下修复了该问题:

  • 关闭模拟器
  • 打开Hyper-V管理器
  • 转到Android Image的设置
  • 展开“处理器”配置节点
  • 转到“兼容性”节点
  • 选中“迁移到具有不同处理器版本的物理计算机”选项

显然它与较新的处理器架构有关,与Android图像或类似的东西不兼容 - 只要它工作,不要真正关心:)

我遇到了同样的问题。 我试图通过在xdesku.xml中删除:GuestDisplayProvider =“VsEmulator.OpenGLGuestDisplay”来禁用OpenGL,如其他答案所示。

首先,虚拟机将启动(您可以从Hyper-V管理器连接到它),但模拟器窗口本身不会连接到机器(卡在“操作系统正在启动”,然后失败后,在使用以下消息:“模拟器无法连接到设备操作系统:无法自动检测客户机系统IP地址。某些功能可能已禁用。”)

这个答案https://stackoverflow.com/a/31698124/1010492和那个https://stackoverflow.com/a/14402740/1010492帮助我解决了连接问题,我能够将虚拟机显示在模拟器窗口。

但是,模拟器无法正常工作(缩放问题,没有Home,Back等按钮),直到我放回“VsEmulator.OpenGLGuestDisplay”行并删除我的配置文件并重新启动多次。

总而言之,如果您在启用Hyper-V的计算机上遇到相同的问题,您可能需要尝试--over conscious--以下步骤:

  1. 理想情况下,卸载任何其他虚拟化软件,如VMWare,Virtual Box和VPN客户端(如Cisco VPN)(如果您不能这样做,请在步骤13保持警惕)
  2. 重启
  3. 在“Visual Studio Emulator for Android”对话框中,删除所有已安装的设备配置文件
  4. 删除所有Hyper-V虚拟交换机 - 转至Hyper-V>虚拟交换机管理器>删除所有虚拟交换机
  5. 运行XdeCleanup.exe(通常在“C:\\ Program Files(x86)\\ Microsoft XDE \\ 10.0.10240.0”中)
  6. 同时删除“控制面板>网络和Internet>网络连接”中剩余的任何额外虚拟网络适配器(按照前面的步骤操作后,通常只能使用物理适配器)
  7. 确保在所有网络适配器上禁用网络共享(右键单击,属性,共享,取消选中“允许其他网络用户通过此计算机的Internet连接进行连接”)
  8. 如果您在GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay"删除了GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay"行(通常在“C:\\ Program Files(x86)\\ Microsoft XDE \\ 10.0.10240.0 \\ SKUs \\ Android”中),现在是一个很好的时机在后面。
  9. 重启
  10. 您可能想尝试修复模拟器:转到程序和功能>用于Android的Microsoft Visual Studio模拟器>更改并点击“修复”(虽然我不得不说这总是对我失败)
  11. 重启
  12. 打开Android的Visual Studio模拟器,然后安装然后运行其中一个配置文件(例如:7''KitKat(4.4)XHDPI Tablet - 与Asus Google Nexus 7类似)
  13. 它可能已经工作,但如果没有,你应该确保你的网络适配器设置正确。 停止模拟器,然后转到“控制面板”>“网络和Internet”>“网络连接”,右键单击vEthernet适配器,然后单击“属性”,确保只在“网络”列表中勾选以下框(如其他虚拟化或网络中的干扰所述)软件和驱动程序 :Microsoft网络客户端,QoS数据包计划程序,Microsoft网络文件和打印机共享,Microsoft LLDP协议驱动程序,链路层拓扑发现映射器I / O驱动程序,链路层拓扑发现响应程序,Internet协议版本6(TCP / IPv6),Internet协议版本4(TCP / IPv4)
  14. 重启
  15. 尝试在“Visual Studio Emulator for Android”中再次启动模拟器
  16. 如果它仍然不起作用,请尝试删除并重新创建配置文件,并重新启动...

这里可能有一些冗余步骤,但我认为它涵盖了你应该尝试的一切(关键似乎是确保网络适配器设置正确)。 如果我遗漏了一些东西,或者你认为某些步骤没用,请发表评论。

经过大量的搜索,我得到了这个工作。 希望这可以帮助。 我在使用Visual Studio 2015的Android模拟器MSDN文章的评论中找到了它

如果您通过转到Program Files(如果您使用的是64位计算机上的Program Files x86)或Microsoft XDE \\ 10.0.0.0 \\ SKUs \\ Android \\ xdesku.xml并删除此行,则禁用OpenGL可能会有效: GuestDisplayProvider =“VsEmulator.OpenGLGuestDisplay”。 但是,如果没有打开OpenGL,您将无法利用许多新功能

在我的系统上,我再次启用了禁用的vEthernet(内部以太网端口Windows Phone仿真器内部交换机)后再次运行。 我没有重启。

我经历了@Gyum Fox回答的步骤,对我来说仍然没有快乐。

虽然用于Android的Visual Studio模拟器创建了第一个模拟器实例,但还创建了多个虚拟网络交换机。 对于笔记本电脑,通常会创建三个vEthernet实例; 一个用于有线LAN,一个用于Wi-Fi,另一个用于客户端到主机连接的内部虚拟交换机。

就我而言,有线局域网的vEthernet已成功创建,然后Visual Studio Emulator for Android进程将挂起。 这可以从Hyper-V管理器Virtual Switch Manager操作中观察到。

使用Virtual Switch Manager我通过以下步骤成功创建了缺少的Wi-Fi虚拟交换机。 好吧,最终它奏效了。 继续阅读。

  1. Virtual Switches列表下,选择New virtual network switch ...
  2. 您要创建什么类型的虚拟交换机? ,选择外部
  3. 外部网络:下拉列表中,选择Wi-Fi适配器。
  4. 单击“ 创建虚拟交换机”按钮。
  5. 更改名称:以匹配Wi-Fi适配器的名称。
  6. 单击“ 应用”按钮。

但在我的情况下,单击“ 应用”后 ,失败消息表明Wi-Fi适配器已桥接。 嗯。

我启动了View Network Connections控制面板小程序,而Wi-Fi适配器没有显示它已被桥接。 (当存在网桥时,“ 状态”列会附加“ 桥接 ”一词。)我怀疑在注册表中某处隐藏着一些尘土飞扬的数字位。

这就是为我解决问题的原因。

  1. 右键单击Wi-Fi设备。
  2. 选择添加到桥
  3. 再次右键单击Wi-Fi设备。
  4. 选择从桥中删除

现在,返回到为Wi-Fi网络创建虚拟交换机的步骤。 这些步骤现在应该成功完成。

现在,您可以返回创建所需的Android模拟器。

最后一个想法......如果你没有看到任何虚拟交换机被创建,我怀疑这可能意味着有线局域网可能会让你满身灰尘。 在这种情况下,我会尝试在有线LAN适配器上添加并删除桥接技巧,以查看是否为您提供了清晰的功能。

而且,现在我认为只需在网络适配器上执行添加和删除桥接技巧而无需创建虚拟交换机就足够了。 对我来说,虚拟交换机的创建证明问题已得到纠正。 YMMV ;-)

我发现我的问题与Windows防火墙有关,我的公司应用于所有PC的一些企业策略。 一旦我停止了Windows防火墙服务,它工作得很好。

我也有这个问题,它不仅适用于Android模拟器,而且适用于所有Windows手机模拟器。

这就是我为解决这个问题所做的工作

在此之后,我能够从“Visual Studio Emulators for Android”运行模拟器

我正在添加一个单独的答案虽然Gyum Fox提供的洞察力提供了我需要尝试其他东西的线索......

[注意:上次我能够使用模拟器(约3周前)我无线禁用,并在我的Dev笔记本电脑上使用有线连接。 我的交换机空间不足,因此重新启用无线作为唯一的连接选项。 这可能完全是巧合,但请继续阅读,我会让你们自己决定。

按照Gyum的步骤没有成功,我决定关闭无线,然后尝试启动模拟器。

你不知道吗......它没有问题! 8}

一旦我运行了模拟器,我就重新启用了无线功能,模拟器选择了连接。

我不是网络人,所以我甚至都不会尝试理解。 这是一个小PITA,但嘿......如果有效! ; - }

在我的机器上,我可以启动模拟器,但在尝试部署和调试时遇到了OpenGL错误。 我意识到在安装Docker之后我的问题就开始了。 一时兴起,我决定关闭Docker并禁用vEthernet(DockerNAT)网络连接。 这解决了我的问题。 现在,每当我需要使用Andoird模拟器时,我必须关闭Docker。 然后,当我完成调试时,我启用/重启Docker。

我遇到此问题的原因之一是我没有在默认位置安装Android SDK。 所以我必须按照这些说明才能调试我的应用程序: https//msdn.microsoft.com/en-us/library/mt228282.aspx#ADB

我必须创建文件夹“Android SDK Tools”并将值“Path”添加到我的SDK中,在我的例子中它是“E:\\ Android \\ Android_SDK”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM