XR 运行时
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2025 年 5 月 7 日 | - | - | - | 1.0.0-alpha04 |
声明依赖项
如需添加 XR 运行时的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha04" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha04" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha04") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha04") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.0
版本 1.0.0-alpha04
2025 年 5 月 7 日
发布了 androidx.xr.runtime:runtime:1.0.0-alpha04
、androidx.xr.runtime:runtime-openxr:1.0.0-alpha04
和 androidx.xr.runtime:runtime-testing:1.0.0-alpha04
。版本 1.0.0-alpha04 包含这些提交内容。
新功能
- 会话现在实现了
androidx.lifecycle.LifecycleOwner
,以便与现有 Android 生命周期范式更好地互操作。 - 此处指定并记录了 Android XR 的清单字符串。
- 添加了空间可见性回调扩展方法,用于监控场景内容何时移出或移入用户视野范围。
- 添加了
JxrPlatformAdapter
(及其所有相关类)的桩版本。 SceneCore
和 Runtime 中都将使用会话,而不是SceneCore
中的会话。- 添加了
ActivityPose.hitTest
,以针对虚拟内容启用hitTest
。 - 现在支持在编译时指定多个运行时实现。在执行时,系统只会根据当前设备的功能集加载一个。
- 添加了新的组件类型
SpatialPointerComponent
,让客户端可以指定为指针呈现的图标,或停用该图标。此组件目前只能附加到PanelEntity
实例。
API 变更
- 将 Config 实现设为公开。(I95860)
- 添加了
HandJointType
和TrackingState
。(I55880) - 使用 Kotlin 2.0 发布的项目需要使用 KGP 2.0.0 或更高版本 (Idb6b5)
Hand.isActive (boolean)
已更改为Hand.trackingState
。OpenXR
实现已相应地修改。Session.configure
中的android.permission.SCENE_UNDERSTANDING
权限要求已更改为android.permission.SCENE_UNDERSTANDING_COARSE
。LifecycleManager.configure
已实现,现在会传入一个Config
对象,其中包含每个可配置运行时功能的属性。- 现在,您可以使用
Config
调用Session.configure
,以便配置可用的运行时功能。 Session.create
现在支持传递CoroutineContext
,而不是CoroutineDispatcher
。Session.create
支持为 Jetpack XR 和/或SceneCore
加载ARCore
。必须提供至少一个(可提供测试版本)。- 当向
Anchor.load
和Anchor.unpersist
传递无效的 UUID 时,FakePerceptionManager
会抛出AnchorInvalidUuidException
。 CoreState
不再是一个数据类。
bug 修复
- 修复了运行时 Proguard 配置。
版本 1.0.0-alpha03
2025 年 2 月 26 日
发布了 androidx.xr.runtime:runtime:1.0.0-alpha03
、androidx.xr.runtime:runtime-openxr:1.0.0-alpha03
和 androidx.xr.runtime:runtime-testing:1.0.0-alpha03
,这三个版本与上一个 Alpha 版相比没有明显的变更。版本 1.0.0-alpha03 包含这些提交内容。
版本 1.0.0-alpha02
2025 年 2 月 12 日
发布了 androidx.xr.runtime:runtime:1.0.0-alpha02
、androidx.xr.runtime:runtime-openxr:1.0.0-alpha02
和 androidx.xr.runtime:runtime-testing:1.0.0-alpha02
。版本 1.0.0-alpha02 包含这些提交内容。
破坏性变更和行为变更
- 如果返回 Anchor 的
OpenXR
运行时函数遇到通知已达到OpenXR
资源限制的错误代码,现在会抛出AnchorResourcesExhaustedException
。 Session.create
和Session.resume
现在需要权限android.permission.HAND_TRACKING
。
新功能
- 添加了手部跟踪支持。
bug 修复
- 在模拟器上运行时,创建锚点更加稳定
版本 1.0.0-alpha01
2024 年 12 月 12 日
发布了 androidx.xr.runtime:runtime-* 1.0.0-alpha01
。
初始版本的功能
Jetpack XR 运行时的初始版本。此库包含 Jetpack XR 库套件的基本功能组件。这包括功能发现、生命周期管理、配置等。运行时库会根据执行平台提供不同的变体(例如 runtime-openxr
或 runtime-testing
)。此外,此库还提供基本数学抽象,例如 Vector3
和 Matrix4
,这些抽象在整个 Jetpack XR API 接口中均有使用。
Session
:让您可以对 XR 系统进行精细控制,包括确定何时执行和不执行处理以及整体配置。它也是您将在所有其他 API 中使用以解锁底层系统功能的句柄。Pose
:任意坐标系中的一个位置,该位置具有与其相关联的位置和方向。您将使用此类与 ARCore for Jetpack XR 和 Jetpack SceneCore 通信对象的位置。
已知问题