ARCore 将于 5 月 10 日重返 Google I/O 大会! 立即报名。

在 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 > AVD Manager 打开 AVD 管理器

  2. 点击 AVD Manager 对话框底部的 Create Virtual Device

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

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

    • 虽然 API 级别 24 或更高版本支持实体 ARCore 设备,但 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.36.0_x86_for_emulator.apk

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

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

    adb install -r Google_Play_Services_for_AR_1.36.0_x86_for_emulator.apk

对您要使用的任何其他 AVD 重复执行上述步骤。

控制虚拟场景

当您的应用连接到 ARCore 时,您会在模拟器窗口下方看到叠加的叠加层,了解如何控制相机。

移动虚拟摄像头

按住 Option (macOS) 或 Alt(Linux 或 Windows)即可访问相机移动控件。使用以下控件移动相机:

平台 操作 您需要采取的行动
macOS 向左或向右移动 按住 Option + 按 AD
向下或向上移动 按住 Option + 按 QE
前进或后退 按住 Option,然后按 WS
更改设备屏幕方向 按住 Option 键并移动鼠标
LinuxWindows 向左或向右移动 按住 Alt + AD
向下或向上移动 按住 Alt + QE
前进或后退 按住 Alt + 按 WS
更改设备屏幕方向 按住 Alt + 移动鼠标

释放 OptionAlt 以返回到模拟器中的交互模式。

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

向场景添加增强图像

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

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

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

问题排查提示

  • 如果您的 ARCore 应用启动并且您看到“此设备不支持 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),则表明您安装的 Google Play 服务(面向 AR) APK 可能有误。创建一个新的虚拟设备并安装 x86 版本。