XR 运行时

使用我们的原生运行时启动自定义 AR 或 3D 会话。
最近更新时间 稳定版 候选版 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-alpha04androidx.xr.runtime:runtime-openxr:1.0.0-alpha04androidx.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)
  • 添加了 HandJointTypeTrackingState。(I55880)
  • 使用 Kotlin 2.0 发布的项目需要使用 KGP 2.0.0 或更高版本 (Idb6b5)
  • Hand.isActive (boolean) 已更改为 Hand.trackingStateOpenXR 实现已相应地修改。
  • 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.loadAnchor.unpersist 传递无效的 UUID 时,FakePerceptionManager 会抛出 AnchorInvalidUuidException
  • CoreState 不再是一个数据类。

bug 修复

  • 修复了运行时 Proguard 配置。

版本 1.0.0-alpha03

2025 年 2 月 26 日

发布了 androidx.xr.runtime:runtime:1.0.0-alpha03androidx.xr.runtime:runtime-openxr:1.0.0-alpha03androidx.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-alpha02androidx.xr.runtime:runtime-openxr:1.0.0-alpha02androidx.xr.runtime:runtime-testing:1.0.0-alpha02。版本 1.0.0-alpha02 包含这些提交内容

破坏性变更和行为变更

  • 如果返回 Anchor 的 OpenXR 运行时函数遇到通知已达到 OpenXR 资源限制的错误代码,现在会抛出 AnchorResourcesExhaustedException
  • Session.createSession.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-openxrruntime-testing)。此外,此库还提供基本数学抽象,例如 Vector3Matrix4,这些抽象在整个 Jetpack XR API 接口中均有使用。

  • Session:让您可以对 XR 系统进行精细控制,包括确定何时执行和不执行处理以及整体配置。它也是您将在所有其他 API 中使用以解锁底层系统功能的句柄。

  • Pose:任意坐标系中的一个位置,该位置具有与其相关联的位置和方向。您将使用此类与 ARCore for Jetpack XR 和 Jetpack SceneCore 通信对象的位置。

已知问题

  • configure 目前没有任何操作。未来的版本将添加可用于控制 Session 行为的新设置。