26

我创建了一个新的、简单的 Xamarin 跨平台应用程序,在使用 Marshmallow(6.0 API 23)的 VS 模拟器中运行 Android 项目时出现以下错误:

等待运行时检查完成

模拟器成功启动,项目构建没有警告或错误。我已经让它在一夜之间保持这种状态,但它无法超越这一点。

  • VS:15.7.1
  • Xamarin 形式:3.0.0.482510

任何方向/建议将不胜感激。

编辑 1:使用 Android SDK 映像有效,因此问题似乎出在 Hyper-V VM 上。

4

8 回答 8

27

您需要重新启动 ADB 服务。Visual Studio-Service-Android-重启adb服务。它对我有帮助。

在菜单栏中的 Visual Studio 中:Tools -> Android -> Restart Adb Server

于 2018-08-14T12:03:57.913 回答
16

我通过执行以下步骤设法解决了这个错误:

  1. 构建并运行应用程序。
  2. 构建将在“等待运行时检查”处停止。
  3. 在模拟器中,单击>>右侧工具栏中的箭头。
  4. 记下Windows Phone Emulator Internal Switch的 IP 地址。
  5. 回到VS。从菜单中选择工具 → Android → Android ADB 命令提示符
  6. 键入adb connect [IP_FROM_STEP_#4]
  7. 构建应该继续。

您应该只需要在每次启动模拟器时执行此操作。它并没有解决 VS 无法自动连接的问题,但我发现它很容易继续进行。

附带说明,如果应用程序运行并立即退出,请执行以下操作:

  1. 停止模拟器。
  2. 打开 Hyper-V 管理器应用程序。
  3. 右键单击模拟器并选择“设置”。
  4. 展开“处理器”节点并选择“兼容性”。
  5. 勾选“迁移到具有不同处理器版本的物理计算机”。

查看@masound 提供的链接后,我发现注册表项丢失了。所以,我做了以下事情:

  • 将“Android SDK 工具”键添加到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node.
  • 添加了一个带有 namePath和 value的字符串值C:\Program Files (x86)\Android\android-sdk
于 2018-05-17T11:13:25.667 回答
10

我遇到了同样的问题。花了几个小时试图修复它。尝试了以上所有答案均无济于事。打开 Android 设备管理器并在我所有的模拟器上进行了出厂重置。它解决了这个问题。

于 2019-09-19T20:56:58.683 回答
4

链接中,有一些针对 VS android 模拟器的问题修复。其中之一是关于 adb 无法连接到模拟器的问题。这是由于模拟器指向的 adb 路径与 Visual Studio 使用的真实 adb 路径之间的差异造成的。此冲突可能是由更新 Visual Studio 或其组件引起的。简单而永久的解决方案是更改模拟器指向的路径。只需执行以下操作:

  1. 从“开始”按钮上下文菜单中选择“运行”,在对话框中键入 regedit,然后选择“确定”,打开注册表编辑器。
  2. 导航到左侧文件夹树中的 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Android SDK Tools。
  3. 修改 Path 注册表变量以匹配您的 Android SDK 的路径。
  4. 重新启动模拟器,您现在应该能够看到模拟器连接到 ADB 和相关的 Android 工具。
于 2018-05-25T02:18:56.843 回答
3

我遇到了这个。重新启动机器和设备。现在一切都好。

于 2018-06-26T14:39:03.800 回答
0

我在使用 Pixel 2 Pie 8.1(API 27) 时遇到了同样的问题,我下载了它的更高版本 Pixel 2 Pie 9.0(API 28),所以它已经解决了这个问题。

于 2021-02-05T17:12:00.140 回答
0

在模拟器上卸载应用程序并重新启动模拟器。

这似乎是为我做的事情。我在一个带有 HAXM 的 Android 6 模拟器上。我也尝试过禁用Use Shared RuntimeUse Fast Deployment (debug mode only)其中xamarin.android > properties > android options过去可能有帮助,但我认为这次没有帮助。...它也可能会重新启动我的计算机七次,然后打开 hyper-v,然后再关闭,windows features但谁知道呢。

于 2018-06-05T13:14:14.973 回答
0

因此,就我而言,在 Visual Studio 安装自己的之前,我使用了另一个 Android SDK 安装。我还将环境变量ANDROID_SDK_ROOTANDROID_SDK_HOME环境变量设置到不同的文件夹。

为了解决这个问题,我首先将ANDROID_SDK_ROOT环境变量更改为使用 VS 配置的路径(VS 安装 Android SDK 的位置,请参阅 参考资料Tools -> Options -> Xamarin -> Android Settings -> Android SDK Location),就C:\Program Files (x86)\Android\android-sdk我而言。之后需要重新启动 VS,因此它会加载新的环境变量值。

仅凭这一点还不足以让 VS 通过 ADB 成功连接到 AVD。原因是,.android我的路径下的目录ANDROID_SDK_HOME仍然包含我之前安装的旧文件adbkeyadbkey.pub文件。因此,我将它们替换为 VS 安装的 SDK 中的那些(在我的情况下位于C:\Users\<UserName>\.android)。(只是删除旧文件可能也足够了,但我还没有测试过。)

之后,VS 能够再次连接到 AVD。

于 2020-12-12T04:01:31.050 回答