您可以使用 Android 模拟器在没有实体设备的情况下测试 AR 场景。借助 Android 模拟器,您可以使用自己能够控制的模拟设备在虚拟环境中运行 ARCore 应用。
设置您的开发环境
软件要求:
Android Studio 3.1 或更高版本。
Android 模拟器 27.2.9 或更高版本。
获取适用于 ARCore 的 Android Studio 和 SDK 工具
安装 Android Studio 3.1 或更高版本。
在 Android Studio 中,转到 Preferences > Appearance and Behavior > System Settings > Android SDK。
选择 SDK Platforms 标签页,然后勾选 Show Package Details。
在相应的 Android 版本下,选择:
Google APIs Intel x86 Atom System Image API 级别 27 或更高版本。选择 SDK Tools 标签页,然后添加 Android Emulator 27.2.9 或更高版本。
点击 OK 以安装所选软件包和工具。
再次点击 OK 以确认更改。
Accept:组件安装程序的许可协议。
点击 Finish。
创建支持 AR 的虚拟设备
如需了解详情,请参阅关于创建虚拟设备的 Android Studio 说明。
创建新的 Android 虚拟设备 (AVD)
在 Android Studio 中,点击 Tools > AVD Manager 打开 AVD 管理器。
点击 AVD Manager 对话框底部的 Create Virtual Device。
选择或创建所需的 Phone 硬件配置文件,然后选择 Next。
选择搭载 API 级别 27 或更高版本的
x86
或x86_64
系统映像,然后选择 Next。虽然 API 级别 24 或更高版本支持实体 ARCore 设备,但 Android 模拟器支持需要 API 级别 27 或更高版本。
仅支持基于 x86 的 Android 模拟器架构。目前不支持
arm64-v8a
、armeabi-v7
等其他架构。
验证您的虚拟设备是否已正确配置:
点击 Show Advanced Settings。
确保将 Camera Back 设置为 VirtualScene。
点击 Finish 以创建 AVD。
运行您的应用
在模拟器中支持 AR 的虚拟设备上测试 ARCore 应用。为此,您可以按照 Android Studio 的说明在 Android 模拟器中运行应用。
更新“面向 AR 的 Google Play 服务”
模拟器上适用于 AR 的 Google Play 服务版本可能已过时。请按照以下说明对其进行更新:
从 GitHub 版本页面下载最新的 Google_Play_Services_for_AR_1.36.0_x86_for_emulator.apk。
将下载的 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 + 按 A 或 D |
向下或向上移动 | 按住 Option + 按 Q 或 E | |
前进或后退 | 按住 Option,然后按 W 或 S | |
更改设备屏幕方向 | 按住 Option 键并移动鼠标 | |
Linux 或 Windows | 向左或向右移动 | 按住 Alt + A 或 D |
向下或向上移动 | 按住 Alt + Q 或 E | |
前进或后退 | 按住 Alt + 按 W 或 S | |
更改设备屏幕方向 | 按住 Alt + 移动鼠标 |
释放 Option 或 Alt 以返回到模拟器中的交互模式。
使用扩展控件中的 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 版本。