在 Android 模拟器中运行 AR 应用

使用 Android 模拟器 测试 AR 场景,而无需使用实体设备。借助 Android 模拟器,您可以在虚拟环境中运行 ARCore 应用,并使用受您控制的模拟设备。

设置您的开发环境

软件要求:

获取适用于 ARCore 的 Android Studio 和 SDK 工具

  1. 安装 Android Studio 3.1 或更高版本。

  2. 在 Android Studio 中,依次前往 Preferences > Appearance and Behavior > System Settings > Android SDK

  3. 选择 SDK Platforms 标签页,然后选中 Show Package Details

    在相应的 Android 版本下,选择:
    Google APIs Intel x86 Atom System Image API 级别 27 或更高版本。

  4. 选择 SDK Tools 标签页,然后添加 Android Emulator 27.2.9 或更高版本。

  5. 点击 OK 以安装所选软件包和工具。

  6. 再次点击 OK 以确认更改。

  7. Accept 组件安装程序的许可协议。

  8. 点击 Finish

创建支持 AR 的虚拟设备

如需了解详情,请参阅 Android Studio 说明以了解如何创建 虚拟设备

创建新的 Android 虚拟设备 (AVD)

  1. 在 Android Studio 中,依次点击 Tools > Device Manager 打开 设备管理器

  2. 点击 设备管理器 面板顶部的 Create Device

  3. 选择或创建所需的 手机 硬件配置文件,然后选择 Next

  4. 选择运行 API 级别 27 或更高版本x86x86_64 系统映像,然后选择 Next

    • 虽然实体 ARCore 设备支持 API 级别 24 或更高版本,但 Android 模拟器支持需要 API 级别 27 或更高版本。

    • 仅支持基于 x86 的 Android 模拟器架构。目前不支持其他架构,例如 arm64-v8aarmeabi-v7

  5. 验证您的虚拟设备是否已正确配置:

    • 点击 Show Advanced Settings

    • 确保 Camera Back 设置为 VirtualScene

  6. 点击 Finish 以创建 AVD。

运行应用

在模拟器中,在支持 AR 的虚拟设备上测试 ARCore 应用。为此,您可以按照 Android Studio 说明在 Android 模拟器中运行应用。

更新“面向 AR 的 Google Play 服务”

模拟器上的“面向 AR 的 Google Play 服务”版本可能已过时。请按照以下说明进行更新:

  1. 从 GitHub 版本页面下载最新的 Google_Play_Services_for_AR_1.54.0_x86_for_emulator.apk

  2. 将下载的 APK 安装到您要使用的每个 AVD 中:

    启动所需的 AVD,然后将下载的 APK 从系统文件夹(即 Downloads) 拖到正在运行的 模拟器上,或者在虚拟设备运行时使用 adb 安装它:

    adb install -r Google_Play_Services_for_AR_1.54.0_x86_for_emulator.apk

对您要使用的任何其他 AVD 重复这些步骤。

控制虚拟场景

当您的应用连接到 ARCore 时,您会看到一个叠加层,其中介绍了如何控制摄像头,以及模拟器窗口下方的状态栏。

移动虚拟摄像头

按住 Shift 即可访问摄像头移动控件。 使用以下控件移动摄像头:

操作 您需要采取的措施
向左或向右移动 按住 Shift \+ 按 AD
向下或向上移动 按住 Shift \+ 按 QE
向前或向后移动 按住 Shift \+ 按 WS
更改设备屏幕方向 按住 Shift + 移动鼠标

松开 Shift 以返回到模拟器中的互动模式。

使用“扩展控件”中的 Virtual Sensors 标签页,可以更精确地定位设备。

向场景添加增强图像

将图像加载到模拟器的模拟环境中,以测试增强图像

使用Extended controls 中的 Camera 标签页添加或修改Scene images。 有两个图像位置,一个在墙上,一个在桌子上。

如需在场景中查看这些图像位置,请启动模拟器,然后将摄像头移动到餐厅区域,穿过摄像头起始位置后面的门。

问题排查提示

  • 如果您的 ARCore 应用启动后,您看到“This device does not support AR”(此设备不支持 AR)消息,请检查系统映像的版本。确保您使用的是 API 级别 27 修订版本 4 或更高版本

  • 如果您的 ARCore 应用在启动时无法打开摄像头,请确保 Camera Back 设置为 VirtualScene, 如上述配置步骤中所述

  • 如果您的 ARCore 应用无法打开,并显示错误消息“Failed to create AR session”(无法创建 AR 会话),请检查应用日志。如果您发现 java.lang.UnsatisfiedLinkError,并且消息包含 /lib/arm/libarcore_c.so" is for EM_ARM (40) instead of EM_386 (3),则可能是您安装了错误版本的 面向 AR 的 Google Play 服务 apk。创建新的虚拟设备并安装 x86 版本。