在 Android 模拟器中运行 Sceneform 应用

使用 Android 模拟器在没有实体设备的情况下测试 AR 场景。借助 Android 模拟器,您可以在受您控制的模拟设备的虚拟环境中运行 ARCore 应用。

设置您的开发环境

软件要求:

硬件要求:

  • 您还需要一个支持 OpenGL ES 3.0 或更高版本的开发机器才能在您的应用中使用 Sceneform。

获取适用于 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 8.1 (Oreo) 下,选择:
    Google APIs Intel x86 Atom System Image API 级别 27,版本 4 或更高版本。

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

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

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

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

  8. 点击 Finish

创建支持 AR 的虚拟设备

您可以按照 Android Studio 说明来创建支持 AR 的虚拟设备

配置虚拟设备

  • 选择 PixelPixel 2 硬件配置文件。
  • 选择 Oreo:API 级别 27:x86:Android 8.1 (Google API) 系统映像。
  • 确认您的虚拟设备已正确配置:

    • 转到验证配置 &gt 显示高级设置
    • 确保相机返回设置为 VirtualScene

配置模拟器以支持 Sceneform

Sceneform 需要 OpenGL ES 3.0 或更高版本。

  1. 确保您的模拟器已配置为使用最新版本的 OpenGL ES:

    • 点击正在运行的模拟器工具栏中的 了解详情
    • 依次选择设置 &gt > 高级 &gt:OpenGL ES API 级别 > 渲染程序最大值(最高为 OpenGL ES 3.1)
    • 重启模拟器。出现提示时,请勿保存当前状态。
  2. 重启模拟器后,与模拟设备进行短暂的互动,然后通过 grep 命令查看设备日志,检查是否使用了 OpenGL ES 3.0 或更高版本:

    adb logcat | grep eglMakeCurrent

    如果您看到 ver 3 0 或更高版本,则可以在模拟器中运行 Sceneform 应用:

    … …  …  … D EGL_emulation: eglMakeCurrent: 0xebe63540: ver 3 0 (tinfo 0xd104cb40)

    如果您看到的是更低版本,则表示您的桌面设备 GPU 不支持 OpenGL ES 3.0,您必须改用一台受支持的设备来运行 Sceneform 应用。

运行您的应用

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

更新面向 AR 的 Google Play 服务

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

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

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

    启动所需的 AVD,然后将下载的 APK 拖动到正在运行的模拟器上,或者在虚拟设备运行时使用 adb 进行安装:

    adb install -r Google_Play_Services_for_AR_1.15.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 以返回模拟器中的交互模式。

使用 Extended controls 中的 Virtual Sensors 标签页可更精确地定位设备。

问题排查提示

  • 如果您的 ARCore 应用启动,并且您看到“AR Core not supported”消息,请检查您的系统映像中的修订版本。确保您使用的是 API 级别 27 修订版 4

  • 如果您的 ARCore 应用在启动时无法打开相机,请确保将相机返回设置为 VirtualScene,如上述配置步骤中所述。