XR ランタイム
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
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 が含まれています。
新機能
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 が含まれています。
新機能
- Session が
androidx.lifecycle.LifecycleOwner
を実装し、既存の Android ライフサイクル パラダイムとの相互運用性が向上しました。 - Android XR のマニフェスト文字列は、ここで指定され、ドキュメント化されています。
- シーン コンテンツがユーザーの視野の内外に移動したタイミングをモニタリングするために、空間の可視性コールバック拡張メソッドが追加されました。
JxrPlatformAdapter
(および関連するすべてのクラス)のスタブ バージョンを追加しました。SceneCore
の Session ではなく、SceneCore
と Runtime の両方で Session が使用されます。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 のARCore
やSceneCore
の読み込みをサポートします。少なくとも 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 とオブジェクトの位置を通信します。
既知の問題