【问题标题】:Why does Visual Studio attempt to deploy to emulator when device is selected为什么选择设备时 Visual Studio 会尝试部署到模拟器
【发布时间】:2017-10-01 14:57:00
【问题描述】:

问题

我正在运行 Visual Studio 2017 并尝试将 Xamarin 应用部署到我的 Android 硬件(摩托罗拉 Moto G 4),该硬件通过 USB 插入我的计算机。当我尝试在 Visual Studio 中部署到它时,我得到以下输出:

Starting deploy Android_Accelerated_x86 ...
Starting emulator Android_Accelerated_x86 ...
C:\Users\vchelaru\AppData\Local\Android\ANDROI~1\tools\emulator.EXE -partition-size 512 -no-boot-anim -avd Android_Accelerated_x86 -prop monodroid.avdname=Android_Accelerated_x86
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: Android Emulator requires an Intel processor with VT-x and NX support.  Your CPU: 'AuthenticAMD'
Emulator Android_Accelerated_x86 cannot be started.
Xamarin.Android does not support deploying the previous version. Please ensure your solution builds before deploying it.
------ Deploy started: Project: VolumeTest, Configuration: Debug Any CPU ------
Error: Cancelled
======== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
======== Deploy: 0 succeeded, 2 failed, 0 skipped ==========

问题

为什么选择我的硬件后 Visual Studio 会尝试启动或部署到模拟器?

我的尝试

USB调试根据我的Android设备连接,我已经授权设备在设备上调试。事实上,我什至可以部署到这个设备几次,但现在我不能再这样做了。

在 Visual Studio 中“播放”按钮旁边的下拉列表中选择了摩托罗拉 Moto G 4。我已经重建了项目,并选择了 Tools -> Android -> Restart ADB Device。重启时,摩托罗拉 Moto G 4 设备暂时消失,但后来又找到了。

我已尝试拔下并重新插入硬件。我已尝试重新启动 Visual Studio。每当我这样做时,默认情况下都会选择硬件设备,因此我知道 Visual Studio 可以看到它。

我也尝试过重启 Windows。

【问题讨论】:

  • 期待这个,因为我的华为 P8 Lite 2017 运行 Android 7.0 时遇到同样的问题。我以前的 5.1 没有发生。我必须确保每次都选择它,否则,它会选择模拟器。我认为这可能与编译到的版本与设备上安装的版本不匹配..不确定..如果版本不匹配,我在尝试部署到设备时也会遇到问题...但是在像这样的东西,通常我使用右下角的笑脸/皱眉脸……通常有人会说些什么

标签: c# android visual-studio xamarin deployment


【解决方案1】:

我不知道这是否解决了核心问题(可能是 Visual Studio/Xamarin 错误),但我确实找到了解决方法。

  1. 转到工具 -> Android -> Android 模拟器管理器
  2. 确保选中Android 虚拟设备标签
  3. 选择任何 x86 设备,然后单击 删除... 按钮。
  4. 刷新按钮确认列表中没有 x86 设备
  5. 关闭窗口
  6. 重建项目
  7. 播放按钮进行部署

这为我解决了这个问题。以某种方式删除所有 x86 设备会告诉 Visual Studio 不再尝试部署 x86 模拟器,并且我能够在设备上运行。

【讨论】:

    【解决方案2】:

    如果您使用的是仿真器,则需要先安装 Intel HAXM,然后再继续。并且尽量不要使用 64 位模拟器,因为它们可能会打开但不会显示任何内容。它们也不利于性能。 Here is the link for HAXM

    如果您使用的是物理设备,请确保在 Your_App -> Properties 中检查应用程序的目标,并选择您的移动设备具有的正确 API。

    【讨论】:

      猜你喜欢
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多