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")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

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 中的 Session。
  • 新增 ActivityPose.hitTest,讓 hitTest 可對虛擬內容進行比較。
  • 系統現在支援在編譯時指定多個 Runtime 實作項目。系統只會根據目前裝置的功能集,在執行期間載入其中一個。
  • 新增元件類型 SpatialPointerComponent,讓用戶端可以指定為指標算繪的圖示,或停用圖示。這個元件目前只能附加至 PanelEntity 例項。

API 變更

  • 將設定實作項目設為公開。(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 物件,其中包含每個可設定的執行階段功能的屬性。
  • Session.configure 現在可以搭配 Config 呼叫,以便設定可用的執行階段功能。
  • Session.create 現在支援傳遞 CoroutineContext,而非 CoroutineDispatcher
  • Session.create 支援為 Jetpack XR 和/或 SceneCore 載入 ARCore。至少須提供一個 (可提供測試版本)。
  • 當無效的 UUID 傳遞至 Anchor.loadAnchor.unpersist 時,FakePerceptionManager 會擲回 AnchorInvalidUuidException
  • CoreState 已不再是資料類別。

修正錯誤

  • 修正執行階段 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 權限。

新功能

  • 新增手勢追蹤支援功能。

修正錯誤

  • 在模擬器上執行時,建立錨點的穩定性會更高

1.0.0-alpha01 版

2024 年 12 月 12 日

發布 androidx.xr.runtime:runtime-* 1.0.0-alpha01

初始版本的功能

Jetpack XR Runtime 的初始版本。這個程式庫包含 Jetpack XR 系列程式庫的基本功能。包括功能探索、生命週期管理、設定等。執行階段程式庫會根據執行平台提供不同的變化版本 (例如 runtime-openxrruntime-testing)。此外,這個程式庫還提供基本的數學抽象概念,例如 Vector3Matrix4,可用於整個 Jetpack XR API 介面。

  • Session:提供精細的 XR 系統控管功能,包括決定何時執行和何時不執行處理作業,以及整體設定。您也會在所有其他 API 中使用這個句柄,以便解鎖底層系統功能。

  • Pose:任意座標系統中的地點,該地點具有相關聯的位置和方向。您將使用這個類別,透過 ARCore 與 Jetpack XR 和 Jetpack SceneCore 通訊物件的所在位置。

已知問題

  • configure 目前是無操作狀態。日後的版本會新增可用來控制 Session 行為的新設定。