使用 Jetpack XR SDK 进行开发

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜
音频和
显示眼镜

Jetpack XR SDK 包含为 Android XR 设备打造沉浸式体验和增强现实体验所需的所有工具和库。

打造完全沉浸式体验

面向专用高保真设备,例如扩展现实头戴设备和有线扩展现实眼镜。使用 KotlinCompose 等现代 Android 开发工具, 以及 Java 和 Views 等上一代工具。您可以 将界面空间化加载和渲染 3D 模型,并从语义上 理解现实世界。

如果您已在 Android 上拥有移动应用或大屏应用,Jetpack XR SDK 可通过将现有布局空间化并 使用 3D 模型和沉浸式环境增强体验,将您的应用带入新的维度。如需了解有关将现有 Android 应用空间化的建议,请参阅我们的 质量指南

打造增强现实体验和实用体验

面向轻巧时尚的音频眼镜和显示眼镜。使用现代 Android 开发工具,例如 KotlinJetpack Compose Glimmer。使用有助于将应用体验从手机投射到眼镜的 API。

使用 Jetpack 库

Jetpack XR SDK 库提供了一个全面的工具包,用于打造 丰富、 沉浸式体验轻量级增强现实体验以及 介于两者之间的所有体验。以下库是 Jetpack XR SDK 的一部分:

开发者预览版期间的 API 开发

Jetpack XR SDK 库是 Android XR 开发者预览版的一部分,这些 API 仍在开发中。如需了解已知问题,请参阅库版本说明:

如果您遇到未列在其中任何列表中的问题,请报告 bug 或提交反馈

Jetpack Compose for XR

适用的 XR 设备:扩展现实头戴设备、有线 XR 眼镜

借助 Jetpack Compose for XR,您可以使用熟悉的 Compose 概念(例如 )在 XR 中创建空间界面布局,无论您是 将现有 2D 应用移植到 XR,还是从头开始创建新的 XR 应用。

此库提供 子空间可组合项(例如 空间面板轨道器),让您可以在空间布局中放置现有的 2D Compose 或基于 Views 的 界面。

如需详细指南,请参阅使用 Jetpack Compose for XR 开发界面

开发界面 XR 组件轨道飞行器通用示例

Compose for XR 引入了 SceneCoreEntity 子空间可组合项,它 让您可以放置实体(例如 3D 模型),相对于界面。

了解如何将现有 Android 应用空间化,或查看 API 参考文档 以了解更多详细信息。

Material Design for XR

适用的 XR 设备:扩展现实头戴设备、有线 XR 眼镜

Material Design 提供适用于 XR 的组件和布局。如果您使用自适应布局进行构建。详细了解如何实现 Material Design for XR

Jetpack SceneCore

适用的 XR 设备:扩展现实头戴设备、有线 XR 眼镜

借助 Jetpack SceneCore 库,您可以相对于彼此和环境放置和排列由 实体定义的 3D 内容。借助 SceneCore,您可以:

Jetpack SceneCore 库还支持将使用 Views 构建的应用空间化。如需了解详情,请参阅我们的使用视图指南

查看 API 参考文档 以了解更多详细信息。

ARCore for Jetpack XR

适用的 XR 设备:扩展现实头戴设备、有线 XR 眼镜、音频眼镜、显示 眼镜

ARCore for Jetpack XR 库受现有 ARCore 库的启发,提供了将数字内容与 现实世界融合的功能。此库包括动作跟踪、持久锚点、命中测试和平面识别(带有语义标签,例如地板、墙壁和桌面)。此库利用由 OpenXR 提供支持的底层感知堆栈 ,确保与各种 设备的兼容性,并有助于确保应用在未来也能正常运行。

如需了解更多详细信息,请参阅使用 ARCore for Jetpack XR

Jetpack Compose Glimmer

适用的 XR 设备:显示眼镜

Jetpack Compose Glimmer 是一个用于构建增强现实 Android XR 体验的界面工具包,针对显示眼镜进行了优化。为全天佩戴的设备打造美观、简洁且舒适的界面。

  • 专为一览无余和清晰易读而打造:与手机不同,主要画布是光学透视显示屏,它是透明的。Jetpack Compose Glimmer 提供 眼镜专用主题简化的调色板排版,让您的内容易于阅读、处理速度快 且绝不会分散注意力。
  • 针对可穿戴设备专用互动进行了优化:我们针对人们使用眼镜的方式优化了 互动模型。Jetpack Compose Glimmer 组件具有清晰的焦点状态(例如优化的轮廓 而不是分散注意力的涟漪效果),并且旨在处理常见的 物理输入,例如点按、在框架上滑动,当然还有语音。
  • 使用熟悉的声明性界面模式:由于 Jetpack Compose Glimmer 完全基于 Jetpack Compose 构建,因此您可以使用已了解的所有关于在 Android 中构建声明性界面的知识。我们提供了一整套核心预构建的可组合函数,例如 TextIconButtonTitleChip 等专用组件,所有这些都针对眼镜环境进行了优化。
开发界面 XR 组件轨道飞行器通用示例

Jetpack Projected

适用的 XR 设备:音频眼镜、显示眼镜

当您为音频眼镜和显示眼镜构建应用时,您的应用会在配套的 宿主设备(例如 Android 手机)上运行,该设备会投射您的应用的 XR 体验。如果 Android 宿主设备具有 XR 投射功能,Jetpack Projected 可让这些设备与音频眼镜或显示眼镜通信。

  • 访问投射的设备硬件:与投射的 设备(音频眼镜或显示眼镜)关联的设备上下文。此 投射的上下文 提供对投射的设备硬件(例如摄像头)的访问权限。专门为在音频眼镜或显示眼镜上显示而创建的专用 activity 已充当投射的上下文。如果应用的另一部分 (例如手机 activity 或服务)需要访问眼镜的 硬件,则可以获取投射的上下文
  • 简化权限请求:音频眼镜和显示眼镜遵循 标准的 Android 权限模型,其中包含眼镜专用 权限,必须在运行时请求这些权限,应用才能 访问设备硬件(例如摄像头)。权限帮助程序简化了手机和眼镜界面中的这些权限请求机制,以提供一致的请求体验。
  • 检查设备和显示功能:检查投射的设备是否有 显示屏以及显示屏的状态,以呈现视觉内容。根据设备的功能调整应用。例如,如果设备没有显示屏或显示屏处于关闭状态,您可能需要提供更多音频上下文。
  • 访问应用相机操作:您的应用可以访问用户相机操作,例如在在线影音应用中开启或关闭相机。

OpenXR™ 和 OpenXR 徽标是 The Khronos Group Inc. 的商标,并在中国、欧盟、日本和英国注册为商标。