在 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 Level 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.32.0_x86_for_emulator.apk

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

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

    adb install -r Google_Play_Services_for_AR_1.32.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 应用无法打开并显示错误消息“无法创建 AR 会话”,请查看应用日志。如果您发现 java.lang.UnsatisfiedLinkError 的消息中包含 /lib/arm/libarcore_c.so" is for EM_ARM (40) instead of EM_386 (3),说明您可能安装的是错误的适用于 AR 的 Google Play 服务 APK。创建一个新的虚拟设备并安装 x86 版本。