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 物理ジオメトリとオブジェクトを追跡するための
SpatialAnnotationAPI を導入しました。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 については、こちらをご覧ください。
バグの修正
バージョン 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)QrCodeAPI を追加しました(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) ArCoreTestRuleAPI(TestArDevice、TestAugmentableObject、TestDepthMap、TestEye、TestFace、TestGeospatial、TestHand、TestPlane、TestRenderViewpoint、TestTrackableを含む)を追加しました(I0ad3c)。AnchorLoadInvalidUuid、AnchorCreateUnsupportedObject、AnchorCreateUnsupportedLocation、AnchorCreateNotAuthorizedを削除します。これらのエラーはすべて、ランタイムの例外になりました。AnchorCreateIllegalStateを削除します。ほとんどの場合、これはAnchorCreateTrackingUnavailableに置き換えられています。AnchorExceptionと、派生クラスAnchorInvalidUuidException、AnchorNotAuthorizedException、AnchorUnsupportedLocationException、AnchorRuntimeFailureException、AnchorUnsupportedObjectExceptionを追加しました。(I4c4dd)
外部からの協力
- カスタム マーカー トラッキング用の
AugmentedImageAPI を追加しました(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)NativeDataAPI を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.stateFlow を監視して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)XrLogAPI を追加しました。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)TiltGestureAPI は将来変更または削除される可能性があるため、試験運用版にしました。この 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 については、こちらをご覧ください。
新機能
TiltGestureAPI を導入し、デバイスの傾き(上/下)状態を遷移の進行状況とともに安定して検出するためのリアクティブな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ブロックでラップすることをおすすめします。