XR ランタイム

ネイティブ ランタイムでカスタム AR セッションまたは 3D セッションを開始します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 7 月 30 日 - - - 1.0.0-alpha05

依存関係の宣言

XR ランタイムへの依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、 Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha05"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha05")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

バージョン 1.0

バージョン 1.0.0-alpha05

2025 年 7 月 30 日

androidx.xr.runtime:runtime-*:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 には、これらの commit が含まれています。

新機能

  • HandJointTypeTrackingState を追加します。(I55880b/334645808
  • Config 実装を公開しました。(I95860b/334645808
  • 新しい SessionCreateResult 型と SessionConfigureResult 型を導入しました。(Icb8cbb/334645808
  • 最小コーナー ポイントと最大コーナー ポイントで定義される、3D 空間内の軸に沿ったバウンディング ボックスを表す新しい BoundingBox クラスを追加しました。(Ic68c5b/423073468

API の変更

  • androidx.xr.scenecore.PixelDimensions の名前を変更して androidx.xr.runtime.math.IntSize2d に移動しました。androidx.xr.scenecore.Dimensions の名前を変更して androidx.xr.runtime.math.FloatSize3d に移動しました。androidx.xr.scenecore.PlaneType の名前を androidx.xr.scenecore.PlaneOrientation に変更しました。androidx.xr.scenecore.PlaneSemantic の名前を androidx.xr.scenecore.PlaneSemanticType に変更しました。(Ifd405b/416456228
  • androidx.xr.runtime.FoV クラスを削除しました。代わりに androidx.xr.runtime.FieldOfView を使用してください。(I9ae27
  • セッションにアタッチする LifecycleOwner を提供できる Session.create のオーバーロードを追加しました。リソースの所有権には Activity が必要であり、LifecycleOwner は Activity 内でスコープ設定する必要があります。(I1690b
  • FakeRuntimeAnchor.anchorsCreated の名前を anchorsCreatedCount に変更しました(I96df9b/424441218
  • 動作を反映するように、構成 *Mode 値の名前が変更されました。(I6d247b/414648065
  • Kotlin 2.0 でリリースされたプロジェクトでは、KGP 2.0.0 以降を使用する必要があります(Idb6b5b/344563182
  • マニフェスト文字列に関連する API が :xr:runtime:runtime から :xr:runtime:runtime-manifest に移動されました。パッケージ名が androidx.xr.runtime から androidx.xr.runtime.manifest に変更されました。(I610adb/418800249
  • Session.resume()Session.pause()Session.destroy() が API サーフェスから削除されました。セッションは LifecycleOwner ではなくなりました。Session のライフサイクルが、Session.create() で渡された Activity のライフサイクルに関連付けられるようになりました。(I28a03
  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ引数を使用して、正しい使用法を適用する必要があります。-Xjspecify-annotations=strict(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)(Ia8420b/326456246
  • メインの Runtime アーティファクト(:xr:runtime:runtime)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、互換性のある API にアクセスするために :xr:runtime:runtime-guava に依存できます。(I05d4ab/426639315
  • メインの Runtime アーティファクト(:xr:runtime:runtime)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、xr:runtime:runtime-rxjava3 ライブラリに依存して互換性のある API にアクセスできます。(I64122b/426639775
  • コルーチンを :xr:runtime:runtime-guava に、Flow を :xr:runtime:runtime-rxjava3 に移動。(I60ae9
  • Session.createSession.configure は、十分な権限が付与されていない場合に SessionCreatePermissionsNotGranted または SessionConfigurePermissionsNotGranted を返すのではなく、SecurityException をスローするようになりました。(I7c488b/430651879

バージョン 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 にはこれらの commit が含まれています。

新機能

  • Session が androidx.lifecycle.LifecycleOwner を実装し、既存の Android ライフサイクル パラダイムとの相互運用性が向上しました。
  • Android XR のマニフェスト文字列は、ここで指定され、ドキュメント化されています。
  • シーン コンテンツがユーザーの視野の内外に移動したタイミングをモニタリングするために、空間の可視性コールバック拡張メソッドが追加されました。
  • JxrPlatformAdapter(および関連するすべてのクラス)のスタブ バージョンを追加しました。
  • SceneCore の Session ではなく、SceneCore と Runtime の両方で Session が使用されます。
  • ActivityPose.hitTest が追加され、仮想コンテンツに対する hitTest が有効になりました。
  • コンパイル時に複数の Runtime 実装を指定できるようになりました。現在のデバイスの機能セットに基づいて、実行時に 1 つだけが読み込まれます。
  • 新しいコンポーネント タイプ SpatialPointerComponent を追加しました。これにより、クライアントはポインタ用にレンダリングされるアイコンを指定したり、アイコンを無効にしたりできます。このコンポーネントは現在、PanelEntity インスタンスにのみアタッチできます。

API の変更

  • Config 実装を公開しました。(I95860
  • HandJointTypeTrackingState を追加します。(I55880
  • Kotlin 2.0 でリリースされたプロジェクトを使用するには、KGP 2.0.0 以降が必要です(Idb6b5
  • Hand.isActive (boolean)Hand.trackingState に変更されました。OpenXR の実装がそれに応じて変更されました。
  • Session.configureandroid.permission.SCENE_UNDERSTANDING 権限の要件が android.permission.SCENE_UNDERSTANDING_COARSE に変更されました。
  • LifecycleManager.configure が実装され、設定可能な各ランタイム機能のプロパティを含む Config オブジェクトが渡されるようになりました。
  • Session.configureConfig で呼び出して、利用可能なランタイム機能を構成できるようになりました。
  • Session.create で、CoroutineDispatcher ではなく CoroutineContext を渡せるようになりました。
  • Session.create は、Jetpack XR の ARCoreSceneCore の読み込みをサポートします。少なくとも 1 つを指定する必要があります(テスト バージョンを利用できます)。
  • FakePerceptionManager は、無効な UUID が Anchor.loadAnchor.unpersist に渡されると 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 がリリースされました。前回のアルファ版からの大きな変更はありません。バージョン 1.0.0-alpha03 にはこれらの commit が含まれています。

バージョン 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 にはこれらの commit が含まれています。

互換性を破る変更と動作の変更

  • 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 ライブラリは、実行プラットフォームに応じてさまざまなバリエーション(runtime-openxrruntime-testing など)を提供します。また、このライブラリは、Jetpack XR API サーフェス全体で使用される Vector3Matrix4 などの基本的な数学的抽象化を提供します。

  • Session: 処理の実行の有無や全体的な構成の決定など、XR システムをきめ細かく制御できます。また、基盤となるシステム機能をアンロックするために、他のすべての API で使用するハンドルでもあります。

  • Pose: 位置と向きが関連付けられた任意の座標系の位置。このクラスを使用して、Jetpack XR と Jetpack SceneCore の ARCore とオブジェクトの位置を通信します。

既知の問題

  • configure は現在 no-op です。今後のリリースでは、Session の動作を制御するために使用できる新しい設定が追加されます。