Jetpack XR 向け ARCore

認識機能を使用して、デジタル コンテンツを現実世界に表示します。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2026 年 10 月 21 日 1.0.0 - - 1.1.0-alpha01

依存関係の宣言

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

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

Groovy

dependencies {
    implementation "androidx.xr.arcore:arcore:1.1.0-alpha01"
}

Kotlin

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

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

フィードバック

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

新しい問題を報告する

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

バージョン 1.1

バージョン 1.1.0-alpha01

2026 年 10 月 21 日

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

API の変更

  • 3D 物理ジオメトリとオブジェクトを追跡するための SpatialAnnotation API を導入しました。SpatialAnnotationTrackingOptions とそれに対応するビルダー パターンを追加し、カメラ画像バッファを介して空間トラッキングを構成できるようにしました。(I918ce)
  • Jetpack XR ARCore に SpatialAnnotation と SpatialAnnotationTrackingMode を導入し、デベロッパーが物理的な現実世界の空間環境を対象とする任意の境界付き 3D 四辺形ジオメトリ(Quad)を構成して追跡できるようにしました。(I880e4)
  • 自動テストで空間アノテーションをプログラムでシミュレートできるように、TestSpatialAnnotation を追加しました。(If2335)
  • geospatialPose、horizontalAccuracy、verticalAccuracy、orientationYawAccuracy を新しい API として追加し、Geospatial の状態に関する詳細情報を提供できるようにしました。(If28f8)

バグの修正

  • androidx.lifecycle:lifecycle-runtime の依存関係を 2.10.0 に更新しました。このバージョンは、バンドルされたライフサイクル ランタイム lint チェックを AGP バージョン 9.5.0-alpha04 以降で実行するために必要です。(I99bfd、b/556807521)
  • AugmentedImage の構成時に最大画像数が 0 であるかどうかを確認し、予期せず失敗するのではなく UnsupportedOperationException をスローするようにしました。I6ce439
  • レンダリング ジョブの適切な追跡とキャンセル、エンティティの破棄、画像コレクションの安全な変更により、AugmentedImageRenderer のメモリリークと同時実行の問題を修正しました。Ie70760

バージョン 1.0

バージョン 1.0.0

2026 年 10 月 21 日

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

1.0.0 の主な機能:

  • Jetpack XR 向け ARCore が安定版になりました。Jetpack XR 向け ARCore ライブラリには、デジタル コンテンツを現実世界と融合する機能が用意されています。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベリング(床、壁、テーブルトップなど)による平面識別、Google の Visual Positioning System を使用した地理空間ポーズが含まれています。
  • 詳しくは、デベロッパー ガイドと API リファレンスをご覧ください。

バージョン 1.0.0-rc02

2026 年 10 月 7 日

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

バグの修正

  • 拡張画像トラッキングがサポートされていない場合に、OpenXrRuntime がセッションを構成できない問題を修正しました。(I8b9759)
  • 複数の問題を修正しました。applicationContext を使用して XrInstanceManager のメモリ管理を改善し、Session と Scene のキャッシュ メカニズムを簡素化してライフサイクル関連の問題を解決し、ReferenceCleaner を強化してスレッドセーフなクリーンアップ登録と明示的な破棄を可能にしました。(Id0b76c)

バージョン 1.0.0-rc01

2026 年 9 月 9 日

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

バージョン 1.0.0-beta02

2026 年 8 月 12 日

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

バグの修正

  • OpenXR アンカーの永続性における同時実行の問題を修正しました。(I15c8b)
  • デバッグ用に、より多くのクラスに toString() を実装しました。(I587e8)

バージョン 1.0.0-beta01

2026 年 7 月 15 日

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

API の変更

  • 2 つの修飾子の代わりに ResizePolicy を使用するように、サイズ変更可能な修飾子を更新しました(I7fb0f、b/496257436、b/519672992)
  • movePolicy パラメータを含む movable オーバーロードを追加し、transformingMovable と movable を非推奨にしました(Ic88c1、b/481781189)
  • 公開 API サーフェスから TrackingState.TRACKING_DEGRADED を削除し、代わりにマップ ランタイムの低下状態を PAUSED にマッピングしました。文字列変換とランタイム変換に int 値ではなく列挙型を使用するように TrackingState を更新します。(I3eb5b、b/524326338)
  • Session.create を suspend 関数に変換しました。(I5d27f)
  • ProjectedPermissionsResultContract を非推奨にしました(I141d5、b/515699436)
  • AnchorEntity の名前を AnchorSpace に更新しました(Ifa95e、b/513619219)

バージョン 1.0.0-alpha15

2026 年 6 月 17 日

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

API の変更

  • HitResult.createAnchor を削除しました。デベロッパーは、Anchorable の createAnchor 関数にヒット位置を指定することで、結果のトラッキング可能なオブジェクトが Anchorable の場合に HitResult を表すアンカーを作成できます。(Ia851e)
  • AnchorUnsupportedObject を削除しました。JXR ARCore ランタイムによってスローされなくなりました。(Ia851e)
  • androidx.xr.arcore.Anchor と androidx.xr.arcore.ArDevice に androidx.xr.arcore.Trackable が実装されました。(I57b65)
  • Depth.left、Depth.right、Depth.mono が null 値非許容になりました(I1fc5e)
  • Face.getUserFace が null 値非許容になりました(I0eac1)
  • RenderViewpoint.left、RenderViewpoint.right、RenderViewpoint.mono が null 値非許容になりました(Icf7fa)
  • Hand.left と Hand.right は null 値非許容です(Icef37)
  • QrCode API を追加しました(Ia0bbe)

バージョン 1.0.0-alpha14

2026 年 5 月 19 日

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

API の変更

  • GeospatialMode.VPS_AND_GPS を非推奨にして GeospatialMode.SPATIAL を導入し、IMU と GPS のみを使用する新しい低電力トラッキング モード GeospatialMode.INERTIAL を導入しました。(I1e6cd)
  • カスタム アンカー例外クラス: AnchorInvalidUuidException、AnchorNotAuthorizedException、AnchorUnsupportedLocationException、AnchorRuntimeFailureException、AnchorUnsupportedObjectException が RuntimeException インスタンスになり、チェック対象外になりました。(I9356e)
  • ArCoreTestRule API(TestArDevice、TestAugmentableObject、TestDepthMap、TestEye、TestFace、TestGeospatial、TestHand、TestPlane、TestRenderViewpoint、TestTrackable を含む)を追加しました(I0ad3c)。
  • AnchorLoadInvalidUuid、AnchorCreateUnsupportedObject、AnchorCreateUnsupportedLocation、AnchorCreateNotAuthorized を削除します。これらのエラーはすべて、ランタイムの例外になりました。AnchorCreateIllegalState を削除します。ほとんどの場合、これは AnchorCreateTrackingUnavailable に置き換えられています。AnchorException と、派生クラス AnchorInvalidUuidException、AnchorNotAuthorizedException、AnchorUnsupportedLocationException、AnchorRuntimeFailureException、AnchorUnsupportedObjectException を追加しました。(I4c4dd)

外部からの協力

  • カスタム マーカー トラッキング用の AugmentedImage API を追加しました(I0cf09)

バージョン 1.0.0-alpha13

2026 年 5 月 6 日

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

API の変更

  • TrackingState と VpsAvailabilityResult が androidx.xr.arcore package に移動し、androidx.xr.runtime の型が非推奨になりました。(Ic7930、b/480462213)
  • Plane.Type の名前を PlaneType に変更しました(I8c90c、b/482675376)
  • Hand.HandSide の名前を HandSide に変更しました(Ica562、b/482675376)
  • Plane.Label の名前を PlaneLabel に変更しました(Ic6b67、b/482675376)
  • Geospatial.Surface の名前を GeospatialSurface に変更しました(I1a8be、b/482675376)
  • Geospatial.State の名前を GeospatialState に変更しました。(I203fa、b/482675376)
  • 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)
  • Orbiter を変更し、position、offset、offsetType、alignment、elevation の代わりに OrbiterAnchorPoint + VolumeOffset または OrbiterPoseProvider を使用するようにしました。また、shouldRenderInNonSpatial パラメータを削除しました。デベロッパーがオービターを非空間でレンダリングしたくない場合は、オービターを if ステートメントでラップし、SpatialCapabilities を確認する必要があります。(I9fbb3、b/462428503)
  • 移動可能な修飾子を追加しました。これらの修飾子は、現時点では SpatialPanels と SpatialExternalSurface で適切に機能します。まもなく SpatialGltfModels でもサポートされる予定です。ただし、すべての SubspaceComposables でこれらが適切にサポートされるようにすることを目的としています。(I9a3cd、b/479530787、b/478935063、b/478935063)
  • デベロッパーは、ArDevice.state Flow を監視して State.trackingState をモニタリングし、トラッキングの忠実度に基づいてアプリのレンダリングや警告を調整する必要があります。(Ic00f0、b/445466590)
  • HandJointType 個の列挙値の名前を変更しました。(Ifbc83、b/482670596)
  • FaceConfidenceRegion 定数の名前を変更しました。(Ia62d5、b/482670596)
  • FaceBlendShapeType 定数の名前を変更しました。(I33b8b、b/482670596)
  • CreatePoseFromGeospatialPoseErrorInternal と CreateGeospatialPoseFromPoseErrorInternal を追加しました。(I4bcf1、b/482666615)
  • DeviceTrackingMode.LAST_KNOWN の名前を SPATIAL_LAST_KNOWN に変更し(非推奨のフォールバックあり)、3DoF トラッキング用に INERTIAL_LAST_KNOWN を追加し、TrackingState に TRACKING_DEGRADED を追加しました。(Ie661c、b/445466590)
  • GroupEntity が非推奨になりました。基本の Entity 機能のみを持つ Entity を作成するには、Entity.create を呼び出します。これにより、Entity インターフェースが返されます。(I4c450、b/473867483)
  • XrLog API を追加しました。XrLog.isEnabled を true に設定して JetpackXR でロギングを有効にし、XrLog.Level を使用してログレベルを設定します。(I76a1f、b/463460895、b/487378441)

バグの修正

  • openxr デバイスにデバイス トラッキング状態のサポートを追加しました。(I91485、b/445466590)

バージョン 1.0.0-alpha12

2026 年 3 月 25 日

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

API の変更

  • Config.augmentedObjectCategories を List から Set に変更しました。(I25a64、b/487376359)
  • androidx.xr.arcore.Eye 型と androidx.xr.arcore.Hand 型。(I42438、b/449032900)
  • リソース スコープ設定のために Android コンテキストを渡せるように、Session.create オーバーロードを追加しました。(I7d3fe、b/415805990、b/477386334)
  • FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT を FakeRuntimeAnchor.anchorResourceLimit に変更します。(I90841、b/431992235)
  • TiltGesture API は将来変更または削除される可能性があるため、試験運用版にしました。この API を使用するには、@ExperimentalGesturesApi を有効にします(Ic9858)。
  • Config で AugmentedObject トラッキングのカテゴリを設定する機能を追加しました(I1f6e4、b/480220930)。

バグの修正

  • PerceptionRuntimeFactory の実際の場所で META-INF/services/ ファイルを更新することで、Chrome のビルドを修正しました。(I7a801、b/481288291)

バージョン 1.0.0-alpha11

2026 年 2 月 25 日

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

バージョン 1.0.0-alpha10

2026 年 1 月 28 日

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

新機能

  • TiltGesture API を導入し、デバイスの傾き(上/下)状態を遷移の進行状況とともに安定して検出するためのリアクティブな Flow を提供します。(Ic269f、b/448152779)
  • ARCore for Jetpack XR で XR ランタイム ロギング メカニズムが使用されるようになりました。詳しくは、androidx.xr.runtime.Log をご覧ください。(l52735、b/448697662)

API の変更

  • Geospatial.createPoseFromGeospatialPose が OpenXR 対応デバイスで動作するようになりました。(l362c6)

バージョン 1.0.0-alpha09

2025 年 12 月 3 日

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

バージョン 1.0.0-alpha08

2025 年 11 月 19 日

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

新機能

  • Jetpack XR の ARCore が、Google Play 開発者サービス(AR)を利用できるデバイスをサポートするようになりました。
  • VPS の可用性とポーズ変換用の Geospatial API を追加しました(I144dc)

バージョン 1.0.0-alpha07

2025 年 10 月 22 日

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

バグの修正

  • :xr:arcore:arcore-openxr が実装依存関係として :xr:arcore:arcore に追加されました(I47315、b/446999229)

バージョン 1.0.0-alpha06

2025 年 9 月 24 日

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

API の変更

  • ARCore のテスト サポートが xr:arcore:arcore-testing モジュールに移行されました。(I25469)
  • ArDevice と RenderViewpoint を追加して、アプリケーションがレンダリング目的でデバイスのポーズとディスプレイ構成を取得できるようにしました。(Ib7e3f)
  • HandJointType 列挙型の名前を HAND_JOINT_TYPE_ 接頭辞付きに変更します。(I3f7cd)
  • HandJointType が xr:runtime:runtime から xr:arcore:arcore に移動しました。(Iadb9c、b/409058039)
  • Hand.State は、パフォーマンス重視のアプリケーションに簡単にアクセスできる形式で、関節ポーズを含む java.nio.FloatBuffer を公開するようになりました。(I55e27)

バージョン 1.0.0-alpha05

2025 年 7 月 30 日

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

新機能

  • デベロッパーが手の情報を取得できるように getPrimaryHandSide を追加(I270bd)
  • Geospatial Check VPS Availability API を追加(I58573)
  • checkVpsAvailability 用の ARCore API を追加しました(Idbded)
  • Java デベロッパーが使用できるように、stateFlowable 拡張関数を :xr:arcore:arcore-rxjava3 に追加しました。(I083aa、b/427247794)

API の変更

  • Config *Mode の値の名前が、動作を反映するように変更されました。(I6d247、b/414648065)
  • メインの ARCore アーティファクト(xr:arcore:arcore)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、xr:arcore:arcore-rxjava3 ライブラリを使用して互換性のある API にアクセスできます。(Ia525e、b/422794329)
  • メインの ARCore アーティファクト(xr:scenecore:scenecore)には、Kotlin スタイルの非同期 API のみが含まれます。Java デベロッパーは、xr:arcore:arcore-guava ライブラリを使用して互換性のある API にアクセスできます。(Iffcb4、b/422773524)
  • Java デベロッパーが使用できるように、Anchor.persistAsync() を AnchorGuava に追加しました。(I4af1c、b/425984631)
  • Java デベロッパーが使用できるように、Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) を EarthGuava に追加しました。(I66357、b/425992992)
  • Java デベロッパーは、GltfModel.kt の GltfModel.createAsync の拡張関数を使用します。GltfModel の非同期関数は削除されます。(I0af60)
  • このライブラリは、タイプユースである JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、正しい使用を強制するために、コンパイラ引数 -Xjspecify-annotations=strict を使用する必要があります(これは Kotlin コンパイラのバージョン 2.1.0 以降のデフォルトです)(Ia8420、b/326456246)。
  • Java デベロッパーが使用できるように、subscribeAsFlowable 拡張関数を :xr:arcore:arcore-rxjava3 に追加しました。(Id3e49、b/427277298)

バージョン 1.0.0-alpha04

2025 年 5 月 7 日

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

API の変更

  • Kotlin 2.0 でリリースされたプロジェクトを使用するには、KGP 2.0.0 以降が必要です。(Idb6b5)
  • TrackingState と HandJointType が ARCore から Runtime に移動しました。
  • Hand.State.isActive (boolean) が Hand.State.trackingState (androidx.xr.runtime.TrackingState) に変更されました。
  • Anchor.load は、UUID が無効な場合に Anchor.AnchorLoadInvalidUuid を返します。

バージョン 1.0.0-alpha03

2025 年 2 月 26 日

androidx.xr.arcore:arcore:1.0.0-alpha03 がリリースされました。前回のアルファ版からの重要な変更はありません。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。

バージョン 1.0.0-alpha02

2025 年 2 月 12 日

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

新機能

  • ハンド トラッキングのサポートを追加しました。Hand.left と Hand.right を使用して、トラッキング情報にアクセスします。
  • アンカーを生成する API(Anchor.create、Anchor.load、Plane.createAnchor)がすべて AnchorCreateResult を返し、AnchorCreateResourcesExhausted を適切に実装するようになりました。

バグの修正

  • Anchor.detach が、セッション更新スレッドとの競合状態により致命的なクラッシュを引き起こすことがなくなりました。
  • Anchor.create がエミュレータで実行される際の安定性が向上しました。

バージョン 1.0.0-alpha01

2024 年 12 月 12 日

androidx.xr.arcore:arcore-* 1.0.0-alpha01 がリリースされました。

初回リリースの機能

ARCore for Jetpack XR ライブラリは、既存の ARCore ライブラリをベースに、デジタル コンテンツを現実世界と融合する機能を提供します。このライブラリには、モーション トラッキング、永続アンカー、ヒットテスト、セマンティック ラベリング(床、壁、テーブルトップなど)による平面識別が含まれています。Jetpack XR 向け ARCore の使用方法について詳しくは、デベロッパー ガイドをご覧ください。

  • Session: ARCore for Jetpack XR は、内部で Jetpack XR ランタイムを使用して機能を強化しています。ほとんどの ARCore for Jetpack XR API を操作するには Session を使用します。ドキュメントをご覧ください。

  • Plane: 平面を使用して周囲の世界を理解します。各平面には、意味的に記述する Label があります。subscribe を使用すると、最新の検出された平面に関する通知を受け取ることができます。state を使用すると、特定の平面の変更に関する通知を受け取ることができます。

  • Anchor: 仮想オブジェクトと現実世界の場所とのリンク。アンカーは、空間内の特定の場所(create を使用)または Trackable(createAnchor を使用)にアタッチできます。

    • アンカーはセッション間で再利用できます。persist を使用して保存し、getPersistedAnchorUuids を使用して列挙し、load を使用して取得できます。使用しなくなった場合は、必ず unpersist してください。

    • アンカーは、ARCore for Jetpack XR と Jetpack SceneCore の間で相互運用可能です。アンカーを使用して AnchorEntity を作成できます。また、既存の AnchorEntity がある場合は、getAnchor を使用して、そのバッキング アンカーを取得できます。

    • hitTest を使用して、自然なユーザー インタラクションを提供します。hitTest は、Ray を使用して、交差するコンテンツを特定し、その場所から Anchor を作成します。InputEvent から hitTest を実施することを検討してください。

既知の問題

  • unpersist の呼び出しから、getPersistedAnchorUuids から返される結果から UUID が削除されるまでに時間がかかることがあります。

  • create は、新しいアンカーを返すのに十分なリソースがシステムにあることを検証しません。アンカーを過剰に作成すると、クラッシュが発生する可能性があります。

  • 以前に永続化され、永続化が解除されたアンカーの永続化は、現在サポートされていません。

  • エミュレータでの使用はサポートされていますが、実際のデバイスで実行する場合ほど動作が安定しない可能性があります。特に、create の呼び出しはネイティブ コードエラーで失敗し、アクティビティが直ちに終了する可能性があります。

  • 特定の状況で、persist を呼び出すと、RuntimeException が誤ってスローされ、「アンカーが永続化されませんでした」というメッセージが表示されることがあります。このような状況でも、関数は成功し、アンカーは永続化されます。回避策として、persist の呼び出しを try ブロックでラップすることをおすすめします。