使用 Android 模拟器在没有实体设备的情况下测试 AR 场景。借助 Android 模拟器,您可以在受您控制的模拟设备的虚拟环境中运行 ARCore 应用。
设置您的开发环境
软件要求:
Android Studio 3.1 或更高版本。
Android 模拟器 27.2.9 或更高版本。
硬件要求:
- 您还需要一个支持 OpenGL ES 3.0 或更高版本的开发机器才能在您的应用中使用 Sceneform。
获取适用于 ARCore 的 Android Studio 和 SDK 工具
安装 Android Studio 3.1 或更高版本。
在 Android Studio 中,依次转到 Preferences > Appearance and Behavior > System Settings > Android SDK。
选择 SDK Platforms 标签页,然后勾选 Show Package Details。
在 Android 8.1 (Oreo) 下,选择:
Google APIs Intel x86 Atom System Image API 级别 27,版本 4 或更高版本。选择 SDK Tools 标签页,然后添加 Android 模拟器 27.2.9 或更高版本。
点击 OK 以安装选定的软件包和工具。
再次点击确定以确认更改。
接受组件安装程序的许可协议。
点击 Finish。
创建支持 AR 的虚拟设备
您可以按照 Android Studio 说明来创建支持 AR 的虚拟设备。
配置虚拟设备
- 选择 Pixel 或 Pixel 2 硬件配置文件。
- 选择 Oreo:API 级别 27:x86:Android 8.1 (Google API) 系统映像。
确认您的虚拟设备已正确配置:
- 转到验证配置 > 显示高级设置。
- 确保相机返回设置为 VirtualScene。
配置模拟器以支持 Sceneform
Sceneform 需要 OpenGL ES 3.0 或更高版本。
确保您的模拟器已配置为使用最新版本的 OpenGL ES:
- 点击正在运行的模拟器工具栏中的 。
- 依次选择设置 > > 高级 >:OpenGL ES API 级别 > 渲染程序最大值(最高为 OpenGL ES 3.1)。
- 重启模拟器。出现提示时,请勿保存当前状态。
重启模拟器后,与模拟设备进行短暂的互动,然后通过 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 服务版本可能已过时。请按照以下说明进行更新:
从 GitHub 版本页面下载最新的 Google_Play_Services_for_AR_1.15.0_x86_for_emulator.apk。
将下载的 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 键,然后按 A 或 D |
向下或向上移动 | 按住 Option + 按 Q 或 E | |
前进或后退 | 按住 Option 并按 W 或 S | |
更改设备屏幕方向 | 按住 Option 键并移动鼠标 | |
Linux 或 Windows | 向左或向右移动 | 按住 Alt + 按 A 或 D |
向下或向上移动 | 按住 Alt + 按 Q 或 E | |
前进或后退 | 按住 Alt + 按 W 或 S | |
更改设备屏幕方向 | 按住 Alt 并移动鼠标 |
释放 Option 或 Alt 以返回模拟器中的交互模式。
使用 Extended controls 中的 Virtual Sensors 标签页可更精确地定位设备。
问题排查提示
如果您的 ARCore 应用启动,并且您看到“AR Core not supported”消息,请检查您的系统映像中的修订版本。确保您使用的是 API 级别 27 修订版 4。
如果您的 ARCore 应用在启动时无法打开相机,请确保将相机返回设置为 VirtualScene,如上述配置步骤中所述。