XR ランタイム

ネイティブ ランタイムを使用して、カスタム AR セッションまたは 3D セッションを開始します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2026 年 9 月 9 日 - 1.0.0-rc01 - 1.1.0-alpha01

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.xr.runtime:runtime:1.1.0-alpha01"

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

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.1.0-alpha01")

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

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.1

バージョン 1.1.0-alpha01

2026 年 9 月 9 日

androidx.xr.runtime:runtime-*:1.1.0-alpha01 がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。

API の変更

  • SpatialApiVersions に SPATIAL_API_V4 を追加しました(I71e7a)

バージョン 1.0

バージョン 1.0.0-rc01

2026 年 9 月 9 日

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

動作の変更

  • 内部ライフサイクル イベントの処理を改善しました。(I2f7b8、If1bc3、Ifa75e)

バージョン 1.0.0-beta02

2026 年 8 月 12 日

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

バグの修正

  • エミュレートされた環境での OpenXR サポートの検出を改善しました。(Ifec51)
  • デバッグ用に、より多くのクラスで toString() を実装しました。(I67d83)
  • 設定の適用後に XrDevice が作成された場合に XrDeviceTestRule が動作するよう修正(Ica32c)

バージョン 1.0.0-beta01

2026 年 7 月 15 日

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

API の変更

  • runtime-testing に SessionTestRule を追加しました。この API(I672bc、b/516876144)
  • Session.create を suspend 関数に変換しました。(I5d27f)
  • XrDeviceTestRule にライフサイクルのサポートを追加しました(I2319c、b/512140272)
  • 使用されていない ExperimentalXrDeviceLifecycleApi 試験運用版オプトイン アノテーションを削除しました。(I46d95)
  • 複数のランタイム タイプに対して toString() の特殊なオーバーライドを追加します。これらの型は、デバッグ目的でデベロッパーに追加情報を提供することを目的としており、本番環境や出荷されるアプリでの使用は想定されていません。

バグの修正

  • 固定ポーズ。fromLookAt の前方方向の調整、Matrix3 でのスケール抽出の修正、正規化、軸角度変換、angleBetween の計算での数値 NaNs の防止。(I7a3b5、b/367780918)

バージョン 1.0.0-alpha15

2026 年 6 月 17 日

androidx.xr.runtime:runtime-*:1.0.0-alpha15 がリリースされました。バージョン 1.0.0-alpha15 に含まれる commit については、こちらをご覧ください。

API の変更

  • isProjectedServiceAvailable() のテスト API を追加しました(I44ba1)
  • 新しい @ExperimentalInertialTrackingApi アノテーションの下で、DeviceTrackingMode.INERTIAL を公開試験運用版 API として公開しました。(Ic3df3)
  • Config.Builder を追加しました。アプリは、ビルダー オブジェクトでセッター関数を呼び出し、Builder.build を呼び出すことで、カスタム構成を作成できます。(I13142)
  • androidx.xr.runtime.FieldOfView を削除しました。アプリは代わりに androidx.xr.runtime.math.FieldOfView を使用する必要があります。(I621ef)
  • Session.create は @WorkerThread で実行されることが必須になりました。(I2169e)
  • XrDevice に isProjectedServiceAvailable() を追加しました(I507e9)
  • DeviceTrackingMode.SPATIAL_LAST_KNOWN の名前を DeviceTrackingMode.SPATIAL に、DeviceTrackingMode.INERTIAL_LAST_KNOWN の名前を DeviceTrackingMode.INERTIAL に変更しました(I96f8b)
  • Vector3.angleBetween と Vector4.angleBetween がラジアンではなく度数を返すようになりました。(Ica8bc)
  • QrCode API を追加しました(Ia0bbe)

バージョン 1.0.0-alpha14

2026 年 5 月 19 日

androidx.xr.runtime:runtime-*:1.0.0-alpha14 がリリースされました。バージョン 1.0.0-alpha14 に含まれる commit については、こちらをご覧ください。

API の変更

  • GeospatialMode.VPS_AND_GPS を非推奨にして GeospatialMode.SPATIAL を導入し、IMU と GPS のみを使用する新しい低電力トラッキング モード GeospatialMode.INERTIAL を導入します。(I1e6cd)
  • androidx.xr.runtime.FieldOfView の非推奨タグを削除します。次のリリースで が削除されることに備えて、androidx.xr.runtime.math.FieldOfView を androidx.xr.runtime.FieldOfView の型エイリアスにします。クライアントは、androidx.xr.runtime バージョンを使用している場所では、androidx.xr.runtime.math バージョンに移行する必要があります。(I6ce15)
  • PreviewProjectedApi アノテーションを追加しました(Ic49f6)
  • AugmentedObjectCategory.allSupported を削除しました(I08656)
  • ハンド トラッキング、アイトラッキング、深度推定、地理空間、レンダリングに対するデバイスのサポートを判断するための API を XrDevice に追加しました。(I00696)
  • Session.getNativeData を XrDevice.getNativeInstanceData と Session.getNativeSessionData に置き換えました。(Ieb077)
  • DeviceTrackingMode.INERTIAL_LAST_KNOWN に @PreviewSpatialApi アノテーションを付けました。(I99868)
  • 単体テストで使用する XrDeviceTestRule を追加しました。(I87584)
  • CATEGORY_XR_PROJECTED_LAUNCHER を追加します。この定数は、マニフェスト ファイルで、アクティビティがシステムによってランチャーとして検出されることを示すために使用されます。(Ia3069)

外部からの協力

  • Config API に AugmentedImageMode を追加(I0cf09)

バージョン 1.0.0-alpha13

2026 年 5 月 6 日

androidx.xr.runtime:runtime-*:1.0.0-alpha13 がリリースされました。バージョン 1.0.0-alpha13 に含まれる commit については、こちらをご覧ください。

API の変更

  • TrackingState と VpsAvailabilityResult が androidx.xr.arcore package に移動し、androidx.xr.runtime の型が非推奨になりました。(Ic7930、b/480462213)
  • Session.getNativeData() は xr:runtime:runtime モジュールで定義され、OpenXR ベースのランタイムに [nativeFunctionTablePointer] を提供します。(Ifa862)
  • NativeData API を xr:runtime:runtime ライブラリに移動しました。(I87954、b/494251500)
  • Session.create と Session.configure が非網羅的になり、when ステートメントで else 句が必要になりました。(I9885e、b/495805998、b/495805998)
  • androidx.xr.runtime.FieldOfView が非推奨になりました。代わりに androidx.xr.runtime.math.FieldOfView を使用してください(Ia01a0、b/480233045)
  • Matrix4.pose の名前を Matrix4.toPose() に変更しました。ポーズ プロパティは非推奨になりました。(I329b4、b/493383490)
  • XrServiceAvailability API を追加しました(If379e、b/493558010)
  • ExperimentalXrServiceAvailabilityApi アノテーションを追加しました(Icab49、b/491069725)
  • @PreviewSpatialApi の接尾辞を削除(If5242、b/491939311)
  • DeviceTrackingMode.LAST_KNOWN の名前を SPATIAL_LAST_KNOWN に変更(非推奨のフォールバック付き)、3DoF トラッキング用に INERTIAL_LAST_KNOWN を追加、TRACKING_DEGRADED を TrackingState に追加しました。(Ie661c、b/445466590)
  • XrLog API を追加しました。XrLog.isEnabled を true に設定して JetpackXR でロギングを有効にし、[XrLog.Level] を使用してログレベルを設定します。(I76a1f、b/463460895、b/487378441)
  • DISPLAY_CATEGORY_XR_PROJECTED を追加。この定数は、アクティビティが XR 投影ディスプレイ(I26d8b)用であることを示すためにマニフェスト ファイルで使用されます。

バージョン 1.0.0-alpha12

2026 年 3 月 25 日

androidx.xr.runtime:runtime-*:1.0.0-alpha12 がリリースされました。バージョン 1.0.0-alpha12 に含まれる commit については、こちらをご覧ください。

API の変更

  • Config.augmentedObjectCategories を List から Set に変更しました(I25a64、b/487376359)
  • Session.create から unscaledGravityAlignedActivitySpace フラグを削除しました。ActivitySpace は常にスケーリングされず、重力に沿って配置されるようになりました。(If6f11、b/458173423)
  • リソース スコープ設定用に Android コンテキストを渡せるように、Session.create オーバーロードを追加しました。(I7d3fe、b/415805990、b/477386334)
  • JvmOverloads を FloatSize2d.to3d、Matrix3.copy、Matrix4.copy に追加しました(I69586、b/481371562)
  • Config で AugmentedObject トラッキングのカテゴリを設定する機能を追加しました(I1f6e4、b/480220930)
  • xr:runtime:runtime-interfaces モジュールを追加しました。(I52ac6、b/461561664)

バージョン 1.0.0-alpha11

2026 年 2 月 25 日

androidx.xr.runtime:runtime-*:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください。

API の変更

  • ConfigMode インターフェースを内部使用に制限(Ibfb87)
  • androidx.xr.runtime.Config.GeospatialMode をパッケージ レベルに移動しました(Ibe682)
  • androidx.xr.runtime.Config.FaceTrackingMode をパッケージ レベルに移動しました(Iac501)
  • androidx.xr.runtime.Config.AnchorPersistenceMode をパッケージ レベルに移動しました(I0360f)
  • androidx.xr.runtime.Config.DepthEstimationMode をパッケージ レベルに移動しました(I7e3e9)
  • androidx.xr.runtime.Config.DeviceTrackingMode をパッケージ レベルに移動しました(I3aacd)
  • androidx.xr.runtime.Config.HandTrackingMode をパッケージ レベルに移動しました(I658f3)
  • androidx.xr.runtime.Config.PlaneTrackingMode をパッケージ レベルに移動しました(Ia251b)
  • androidx.xr.runtime.XrDevice.DisplayBlendMode をパッケージ レベルに移動しました(I6f333)
  • Context、Session、CoroutineContext を使用して XrDevice を作成するファクトリ メソッドを追加しました。(I139c5)
  • プラットフォームで利用可能な Android XR のランタイム バージョンをクエリするのに役立つ SpatialApiVersionHelper が追加されました。(I7c53c)
  • xr:runtime:runtime-openxr モジュールを追加しました(Ib42ea)

バージョン 1.0.0-alpha10

2026 年 1 月 28 日

androidx.xr.runtime:runtime-*:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。

API の変更

  • ConfigMode.HeadTrackingMode が ConfigMode.DeviceTrackingMode に置き換えられました。(le273e、b/467150206)
  • Quaternion の toNormalized、times(float)、div(float) メソッドを削除しました。すべてのクォータニオンは構築時に正規化され、クラスは不変であるため、これらのメソッドは冗長です。(l558fc、b/460210457)

バグの修正

  • アプリケーションのメインスレッドでセッションを作成しない方法を示すドキュメントを Session.create に追加しました。(le5554、b/463687170)
  • アプリケーションが NaN 値で BoundingBox を作成できないようにしました。(l58c14、b/464025895)

バージョン 1.0.0-alpha09

2025 年 12 月 3 日

androidx.xr.runtime:runtime-*:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。

バージョン 1.0.0-alpha08

2025 年 11 月 19 日

androidx.xr.runtime:runtime-*:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください。

新機能

  • デバイスの機能に関する情報を提供する XrDevice を追加しました。(Ic9d1f)
  • セッション機能をクエリするための新しい ConfigMode.isSupported API を追加しました。(Iff7af)
  • XrDisplay.BlendMode API を追加しました。(I484e4)

API の変更

  • [XrDevice.getPreferredBlendMode] の名前を [XrDevice.getPreferredDisplayBlendMode] に変更しました。(I7e48f)

バージョン 1.0.0-alpha07

2025 年 10 月 22 日

androidx.xr.runtime:runtime-*:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。

API の変更

  • SessionConfigureConfigureNotSupported を削除し、UnsupportedOperationException に置き換えます。(I7680f)

バージョン 1.0.0-alpha06

2025 年 9 月 24 日

androidx.xr.runtime:runtime-*:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。

API の変更

  • HandJointType が xr:runtime:runtime から xr:arcore:arcore に移動しました。(Iadb9c、b/409058039)
  • componentWiseMultiplication の乗算演算子を Vector2、Vector3、Vector4 のスケーリングに変更し、他の数学ライブラリとの一貫性を保つために演算子記号を削除しました。また、Vector.scale(otherVector.inverse()) を使用する代わりに、Vector クラスから componentWiseDivision を削除します。(I8e1f6、b/399146447)
  • [unscaled] を追加して、スケールが 1 の Matrix を返します。(I6381d、b/434928658)
  • Coroutines.kt が SuspendtoFutureAdapter に置き換えられたため、:xr:runtime:runtime-guava は削除されます。(I0cd3c、b/406597902)

バージョン 1.0.0-alpha05

2025 年 7 月 30 日

androidx.xr.runtime:runtime-*:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください。

新機能

  • HandJointType と TrackingState を追加します。(I55880、b/334645808)
  • Config 実装を公開します。(I95860、b/334645808)
  • 新しい SessionCreateResult 型と SessionConfigureResult 型を導入しました。(Icb8cb、b/334645808)
  • 最小コーナー ポイントと最大コーナー ポイントで定義される、3D 空間内の軸に沿った境界ボックスを表す新しい BoundingBox クラスを追加しました。(Ic68c5、b/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 に変更しました。(Ifd405、b/416456228)
  • androidx.xr.runtime.FoV クラスを削除しました。代わりに androidx.xr.runtime.FieldOfView を使用してください。(I9ae27)
  • セッションにアタッチする LifecycleOwner を提供できる Session.create のオーバーロードを追加しました。リソースの所有権には Activity が必要であり、LifecycleOwner は Activity 内でスコープ設定する必要があります。(I1690b)
  • FakeRuntimeAnchor.anchorsCreated の名前を anchorsCreatedCount に変更しました(I96df9、b/424441218)
  • 動作を反映するように、構成 *Mode 値の名前が変更されました。(I6d247、b/414648065)
  • Kotlin 2.0 でリリースされたプロジェクトでは、KGP 2.0.0 以降を使用する必要があります(Idb6b5、b/344563182)
  • マニフェスト文字列に関連する API が :xr:runtime:runtime から :xr:runtime:runtime-manifest に移動されました。パッケージ名が androidx.xr.runtime から androidx.xr.runtime.manifest に変更されました。(I610ad、b/418800249)
  • Session.resume()、Session.pause()、Session.destroy() が API サーフェスから削除されました。セッションが LifecycleOwner ではなくなりました。Session のライフサイクルが、Session.create() で渡された Activity のライフサイクルに関連付けられるようになりました。(I28a03)
  • このライブラリは、型使用の JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、次のコンパイラ引数を使用して、正しい使用法を適用する必要があります。-Xjspecify-annotations=strict(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)(Ia8420、b/326456246)
  • メインの Runtime アーティファクト(:xr:runtime:runtime)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、互換性のある API にアクセスするために :xr:runtime:runtime-guava に依存できます。(I05d4a、b/426639315)
  • メインの Runtime アーティファクト(:xr:runtime:runtime)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、xr:runtime:runtime-rxjava3 ライブラリに依存して互換性のある API にアクセスできます。(I64122、b/426639775)
  • コルーチンを :xr:runtime:runtime-guava に、Flow を :xr:runtime:runtime-rxjava3 に移動。(I60ae9)
  • Session.create と Session.configure は、十分な権限が付与されていない場合に SessionCreatePermissionsNotGranted または SessionConfigurePermissionsNotGranted を返すのではなく、SecurityException をスローするようになりました。(I7c488、b/430651879)

バージョン 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 に含まれる commit については、こちらをご覧ください。

新機能

  • 既存の Android ライフサイクル パラダイムとの相互運用性を高めるため、Session で androidx.lifecycle.LifecycleOwner が実装されました。
  • Android XR のマニフェスト文字列は、ここで指定および文書化されています。
  • シーン コンテンツがユーザーの画角の内外に移動したタイミングをモニタリングするために、空間の可視性コールバック拡張メソッドが追加されました。
  • JxrPlatformAdapter(および関連するすべてのクラス)のスタブ バージョンを追加しました。
  • SceneCore のセッションの代わりに、SceneCore とランタイムの両方でセッションが使用されます。
  • ActivityPose.hitTest が追加され、仮想コンテンツに対する hitTest が有効になりました。
  • コンパイル時に複数の Runtime 実装を指定できるようになりました。現在のデバイスの機能セットに基づいて、実行時に 1 つだけが読み込まれます。
  • 新しいコンポーネント タイプ 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 オブジェクトが渡されるようになりました。
  • Session.configure を Config で呼び出して、利用可能なランタイム機能を構成できるようになりました。
  • Session.create が CoroutineDispatcher ではなく CoroutineContext を渡すことをサポートするようになりました。
  • Session.create は、Jetpack XR および SceneCore の ARCore の読み込みをサポートします。少なくとも 1 つを指定する必要があります(テスト バージョンを利用できます)。
  • FakePerceptionManager は、無効な UUID が Anchor.load と Anchor.unpersist に渡された場合、AnchorInvalidUuidException をスローします。
  • CoreState がデータクラスではなくなりました。

バグの修正

  • ランタイムの 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 がリリースされました。前回のアルファ版からの大きな変更はありません。バージョン 1.0.0-alpha03 に含まれる commit については、こちら をご覧ください。

バージョン 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 に含まれる commit については、こちらをご覧ください。

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

  • Anchor を返す OpenXR ランタイム関数は、OpenXR リソースの上限に達したことを示すエラーコードが発生した場合、AnchorResourcesExhaustedException をスローするようになりました。
  • Session.create と Session.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-openxr や runtime-testing など)を提供します。また、このライブラリは、Jetpack XR API サーフェス全体で使用される Vector3 や Matrix4 などの基本的な数学的抽象化を提供します。

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

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

既知の問題

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