Xamarin "Waiting for runtime checks to complete" 和 VS 模拟器



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

等待运行时检查完成

模拟器成功启动,项目生成时没有警告或错误。我已经让它在这种状态下过夜,但它未能通过这一点。

  • VS:15.7.1
  • Xamarin 形式:3.0.0.482510

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

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

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

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

我设法按照以下步骤修复了此错误:

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

您只需在每次启动模拟器时执行此操作。它没有解决VS无法自动连接的问题,但是我发现为了继续下去,这很容易做到。

作为旁注,如果应用程序运行并立即退出,请执行以下操作:

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

查看@masound提供的链接后,我发现注册表项丢失了。因此,我做了以下操作:

  • HKEY_LOCAL_MACHINESOFTWAREWow6432Node中添加了"安卓SDK工具"键。
  • 添加了名称为Path和值C:Program Files (x86)Androidandroid-sdk的字符串值。

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

在此链接中,有一些针对 VS 安卓模拟器的问题修复。其中之一是关于 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 工具的模拟器。

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

卸载模拟器上的应用,然后重新启动模拟器。

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

所以就我而言,在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)Androidandroid-sdk。之后需要重新启动 VS,因此它会加载新的环境变量值。

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

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

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

最新更新