Runtime XR

Mulai sesi AR atau 3D kustom Anda dengan runtime native kami.
Update Terbaru Rilis Stabil Kandidat Rilis Rilis Beta Rilis Alfa
06 Mei 2026 - - - 1.0.0-alpha13

Mendeklarasikan dependensi

Untuk menambahkan dependensi pada runtime XR, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.

Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:

Groovy

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

    // Optional dependencies for asynchronous conversions
    implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha13"
    implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha13"

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

Kotlin

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

    // Optional dependencies for asynchronous conversions
    implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha13")
    implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha13")

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

Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.

Masukan

Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.

Laporkan masalah baru

Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.

Versi 1.0

Versi 1.0.0-alpha13

06 Mei 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha13 dirilis. Versi 1.0.0-alpha13 berisi commit ini.

Perubahan API

  • TrackingState dan VpsAvailabilityResult telah dipindahkan ke androidx.xr.arcore package, dan jenis dalam androidx.xr.runtime kini tidak digunakan lagi. (Ic7930, b/480462213)
  • Session.getNativeData() kini ditentukan dalam modul xr:runtime:runtime dan menyediakan [nativeFunctionTablePointer] untuk runtime yang didukung OpenXR. (Ifa862)
  • Memindahkan NativeData API ke library xr:runtime:runtime. (I87954, b/494251500)
  • Session.create dan Session.configure kini tidak lengkap dan memerlukan klausa else dalam pernyataan when. (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView tidak digunakan lagi. Sebagai gantinya, gunakan androidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)
  • Matrix4.pose telah diganti namanya menjadi Matrix4.toPose(). Properti pose kini tidak digunakan lagi. (I329b4, b/493383490)
  • Menambahkan XrServiceAvailability API (If379e, b/493558010)
  • Menambahkan anotasi ExperimentalXrServiceAvailabilityApi (Icab49, b/491069725)
  • Menghapus akhiran untuk @PreviewSpatialApi (If5242, b/491939311)
  • Mengganti nama DeviceTrackingMode.LAST_KNOWN menjadi SPATIAL_LAST_KNOWN (dengan penggantian yang tidak digunakan lagi), menambahkan INERTIAL_LAST_KNOWN untuk pelacakan 3DoF, dan menambahkan TRACKING_DEGRADED ke TrackingState. (Ie661c, b/445466590)
  • Menambahkan XrLog API. Tetapkan XrLog.isEnabled ke true untuk mengaktifkan logging di JetpackXR, dan gunakan [XrLog.Level] untuk menetapkan tingkat log. (I76a1f, b/463460895, b/487378441)
  • Menambahkan DISPLAY_CATEGORY_XR_PROJECTED, konstanta ini digunakan dalam file Manifes untuk menunjukkan bahwa aktivitas ditujukan untuk tampilan proyeksi XR (I26d8b)

Versi 1.0.0-alpha12

25 Maret 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha12 dirilis. Versi 1.0.0-alpha12 berisi commit ini.

Perubahan API

  • Mengubah Config.augmentedObjectCategories dari Daftar menjadi Set, (I25a64, b/487376359)
  • Menghapus flag unscaledGravityAlignedActivitySpace dari Session.create. ActivitySpace kini selalu tidak diskalakan dan disejajarkan dengan gravitasi. (If6f11, b/458173423)
  • Menambahkan overload Session.create untuk memungkinkan penerusan Konteks Android untuk cakupan resource. (I7d3fe, b/415805990, b/477386334)
  • Menambahkan JvmOverloads ke FloatSize2d.to3d, Matrix3.copy, dan Matrix4.copy (I69586, b/481371562)
  • Menambahkan kemampuan untuk menetapkan kategori untuk AugmentedObject pelacakan dalam Konfigurasi (I1f6e4, b/480220930)
  • Menambahkan modul xr:runtime:runtime-interfaces. (I52ac6, b/461561664)

Versi 1.0.0-alpha11

25 Februari 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha11 dirilis. Versi 1.0.0-alpha11 berisi commit ini.

Perubahan API

  • Membatasi antarmuka ConfigMode untuk penggunaan internal (Ibfb87)
  • Memindahkan androidx.xr.runtime.Config.GeospatialMode ke tingkat paket (Ibe682)
  • Memindahkan androidx.xr.runtime.Config.FaceTrackingMode ke tingkat paket (Iac501)
  • Memindahkan androidx.xr.runtime.Config.AnchorPersistenceMode ke tingkat paket (I0360f)
  • Memindahkan androidx.xr.runtime.Config.DepthEstimationMode ke tingkat paket (I7e3e9)
  • Memindahkan androidx.xr.runtime.Config.DeviceTrackingMode ke tingkat paket (I3aacd)
  • Memindahkan androidx.xr.runtime.Config.HandTrackingMode ke tingkat paket (I658f3)
  • Memindahkan androidx.xr.runtime.Config.PlaneTrackingMode ke tingkat paket (Ia251b)
  • Memindahkan androidx.xr.runtime.XrDevice.DisplayBlendMode ke tingkat paket (I6f333)
  • Menambahkan metode factory untuk membuat XrDevice menggunakan Konteks, Sesi, dan CoroutineContext. (I139c5)
  • Menambahkan SpatialApiVersionHelper untuk membantu mengkueri versi runtime Android XR yang tersedia di platform. (I7c53c)
  • Menambahkan modul xr:runtime:runtime-openxr (Ib42ea)

Versi 1.0.0-alpha10

28 Januari 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha10 dirilis. Versi 1.0.0-alpha10 berisi commit ini.

Perubahan API

  • ConfigMode.HeadTrackingMode diganti dengan ConfigMode.DeviceTrackingMode. (le273e, b/467150206)
  • Menghapus metode toNormalized, times(float), div(float) Quaternion. Metode ini berlebihan karena semua Quaternion dinormalisasi pada waktu konstruksi dan karena class tidak dapat diubah. (l558fc, b/460210457)

Perbaikan Bug

  • Menambahkan dokumentasi ke Session.create yang mengilustrasikan cara menghindari pembuatan sesi di thread utama aplikasi. (le5554, b/463687170)
  • Mencegah aplikasi membuat BoundingBox dengan nilai NaN. (l58c14, b/464025895)

Versi 1.0.0-alpha09

03 Desember 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha09 dirilis. Versi 1.0.0-alpha09 berisi commit ini.

Versi 1.0.0-alpha08

19 November 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha08 dirilis. Versi 1.0.0-alpha08 berisi commit ini.

Fitur Baru

  • XrDevice ditambahkan untuk memberikan informasi tentang kemampuan perangkat. (Ic9d1f)
  • Menambahkan ConfigMode.isSupported API baru untuk mengkueri kemampuan sesi. (Iff7af)
  • Menambahkan XrDisplay.BlendMode API. (I484e4)

Perubahan API

  • Mengganti nama [XrDevice.getPreferredBlendMode] menjadi [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)

Versi 1.0.0-alpha07

22 Oktober 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.

Perubahan API

  • Menghapus SessionConfigureConfigureNotSupported dan menggantinya dengan UnsupportedOperationException. (I7680f)

Versi 1.0.0-alpha06

24 September 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.

Perubahan API

  • HandJointType telah dipindahkan ke xr:arcore:arcore dari xr:runtime:runtime. (Iadb9c, b/409058039)
  • Mengubah operator times untuk componentWiseMultiplication untuk Vector2, Vector3, Vector4 untuk menskalakan dan menghapus simbol operator agar konsisten dengan library matematika lainnya. Juga menghapus componentWiseDivision dari class Vektor sebagai ganti penggunaan Vector.scale(otherVector.inverse()). (I8e1f6, b/399146447)
  • Menambahkan [unscaled] untuk menampilkan Matriks dengan skala satu. (I6381d, b/434928658)
  • :xr:runtime:runtime-guava akan dihapus karena Coroutines.kt telah diganti dengan SuspendtoFutureAdapter. (I0cd3c, b/406597902)

Versi 1.0.0-alpha05

30 Juli 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.

Fitur Baru

  • Menambahkan HandJointType dan TrackingState. (I55880, b/334645808)
  • Membuat implementasi Konfigurasi menjadi publik. (I95860, b/334645808)
  • Memperkenalkan jenis SessionCreateResult dan SessionConfigureResult baru. (Icb8cb, b/334645808)
  • Menambahkan class BoundingBox baru yang mewakili kotak pembatas yang disejajarkan dengan sumbu dalam ruang 3D, yang ditentukan oleh titik sudut minimum dan maksimumnya. (Ic68c5, b/423073468)

Perubahan API

  • Mengganti nama dan memindahkan androidx.xr.scenecore.PixelDimensions ke androidx.xr.runtime.math.IntSize2d. Mengganti nama dan memindahkan androidx.xr.scenecore.Dimensions ke androidx.xr.runtime.math.FloatSize3d. Mengganti nama androidx.xr.scenecore.PlaneType menjadi androidx.xr.scenecore.PlaneOrientation. Mengganti nama androidx.xr.scenecore.PlaneSemantic menjadi androidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)
  • Menghapus class androidx.xr.runtime.FoV. Sebagai gantinya, gunakan androidx.xr.runtime.FieldOfView. (I9ae27)
  • Menambahkan overload tambahan untuk Session.create yang dapat menyediakan LifecycleOwner untuk dilampirkan ke Sesi. Perhatikan bahwa Aktivitas masih perlu disediakan untuk kepemilikan resource dan LifecycleOwner harus dicakup dalam Aktivitas. (I1690b)
  • Mengganti nama FakeRuntimeAnchor.anchorsCreated menjadi anchorsCreatedCount (I96df9, b/424441218)
  • Nilai *Mode Konfigurasi telah diganti namanya untuk mencerminkan perilaku. (I6d247, b/414648065)
  • Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan (Idb6b5, b/344563182)
  • API yang terkait dengan string manifes telah dipindahkan dari :xr:runtime:runtime ke :xr:runtime:runtime-manifest. Nama paket telah diubah dari androidx.xr.runtime menjadi androidx.xr.runtime.manifest. (I610ad, b/418800249)
  • Session.resume(), Session.pause(), dan Session.destroy() telah dihapus dari platform API. Sesi bukan lagi LifecycleOwner. Siklus proses Sesi kini akan dilampirkan ke siklus proses Aktivitas yang diteruskan di Session.create(). (I28a03)
  • Library ini kini menggunakan anotasi nullness JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar: -Xjspecify-annotations=strict (ini adalah default yang dimulai dengan compiler Kotlin versi 2.1.0) (Ia8420, b/326456246)
  • Artefak Runtime utama (:xr:runtime:runtime) hanya akan berisi API asinkron gaya Kolin. Developer Java dapat bergantung pada :xr:runtime:runtime-guava untuk mengakses API yang kompatibel. (I05d4a, b/426639315)
  • Artefak Runtime utama (:xr:runtime:runtime) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat bergantung pada library xr:runtime:runtime-rxjava3 untuk mengakses API yang kompatibel. (I64122, b/426639775)
  • Memindahkan Coroutine ke :xr:runtime:runtime-guava dan Flow ke :xr:runtime:runtime-rxjava3. (I60ae9)
  • Session.create dan Session.configure kini menampilkan SecurityException jika izin yang memadai belum diberikan, bukan menampilkan SessionCreatePermissionsNotGranted atau SessionConfigurePermissionsNotGranted. (I7c488, b/430651879)

Versi 1.0.0-alpha04

7 Mei 2025

androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04, dan androidx.xr.runtime:runtime-testing:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.

Fitur Baru

  • Sesi kini mengimplementasikan androidx.lifecycle.LifecycleOwner untuk interoperabilitas yang lebih baik dengan paradigma siklus proses Android yang ada.
  • String manifes untuk Android XR ditentukan dan didokumentasikan di sini.
  • Metode ekstensi Spatial Visibility Callback ditambahkan untuk memantau saat konten adegan bergerak di dalam atau di luar bidang pandang pengguna.
  • Menambahkan versi stub JxrPlatformAdapter (dan semua class terkaitnya).
  • Sesi akan digunakan di SceneCore dan Runtime, bukan Sesi di SceneCore.
  • ActivityPose.hitTest ditambahkan, sehingga memungkinkan hitTest terhadap konten virtual.
  • Menentukan beberapa implementasi Runtime pada waktu kompilasi kini didukung. Hanya satu yang akan dimuat pada waktu eksekusi berdasarkan kumpulan fitur perangkat saat ini.
  • Menambahkan jenis Komponen baru SpatialPointerComponent, yang memungkinkan klien menentukan ikon yang dirender untuk pointer, atau menonaktifkan ikon. Komponen ini saat ini hanya dapat dilampirkan ke instance PanelEntity.

Perubahan API

  • Membuat implementasi Konfigurasi menjadi publik. (I95860)
  • Menambahkan HandJointType dan TrackingState. (I55880)
  • Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan (Idb6b5)
  • Hand.isActive (boolean) telah diubah menjadi Hand.trackingState. Implementasi OpenXR telah diubah sesuai dengan perubahan ini.
  • Persyaratan izin android.permission.SCENE_UNDERSTANDING di Session.configure telah diubah menjadi android.permission.SCENE_UNDERSTANDING_COARSE.
  • LifecycleManager.configure diimplementasikan dan kini meneruskan objek Config yang berisi properti untuk setiap fitur runtime yang dapat dikonfigurasi.
  • Session.configure kini dapat dipanggil dengan Config untuk mengonfigurasi fitur runtime yang tersedia.
  • Session.create kini mendukung penerusan CoroutineContext, bukan CoroutineDispatcher.
  • Session.create mendukung pemuatan ARCore untuk Jetpack XR dan/atau SceneCore. Setidaknya satu harus disediakan (tersedia versi pengujian).
  • FakePerceptionManager menampilkan AnchorInvalidUuidException saat UUID yang tidak valid diteruskan ke Anchor.load dan Anchor.unpersist.
  • CoreState bukan lagi class data.

Perbaikan Bug

  • Memperbaiki konfigurasi proguard Runtime.

Versi 1.0.0-alpha03

26 Februari 2025

androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03, dan androidx.xr.runtime:runtime-testing:1.0.0-alpha03 dirilis tanpa perubahan penting sejak versi alfa terakhir. Versi 1.0.0-alpha03 berisi commit ini.

Versi 1.0.0-alpha02

12 Februari 2025

androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02, dan androidx.xr.runtime:runtime-testing:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.

Perubahan yang dapat menyebabkan gangguan &perilaku

  • Fungsi runtime OpenXR yang menampilkan Anchor kini menampilkan AnchorResourcesExhaustedException jika menemukan kode error yang memberi tahu bahwa batas resource OpenXR telah tercapai.
  • Izin android.permission.HAND_TRACKING kini diperlukan untuk Session.create dan Session.resume.

Fitur baru

  • Menambahkan dukungan pelacakan tangan.

Perbaikan bug

  • Pembuatan anchor lebih stabil saat berjalan di emulator

Versi 1.0.0-alpha01

12 Desember 2024

androidx.xr.runtime:runtime-* 1.0.0-alpha01 dirilis.

Fitur Rilis Awal

Rilis awal Jetpack XR Runtime. Library ini berisi bagian fungsi dasar untuk rangkaian library Jetpack XR. Hal ini mencakup penemuan kemampuan, pengelolaan siklus proses, konfigurasi, dan lainnya. Library Runtime menyediakan berbagai variasi (misalnya, runtime-openxr atau runtime-testing) bergantung pada platform eksekusi. Selain itu, library ini menawarkan abstraksi matematika dasar seperti Vector3 dan Matrix4 yang digunakan di seluruh platform API Jetpack XR.

  • Session: Memberikan kontrol terperinci atas sistem XR, termasuk menentukan kapan pemrosesan dijalankan dan tidak dijalankan serta konfigurasi keseluruhan. Ini juga merupakan pengendali yang akan Anda gunakan di semua API lainnya untuk membuka kemampuan sistem yang mendasarinya.

  • Pose: Lokasi dalam sistem koordinat arbitrer yang memiliki posisi dan orientasi yang terkait dengannya. Anda akan menggunakan class ini untuk mengomunikasikan lokasi objek dengan ARCore untuk Jetpack XR dan Jetpack SceneCore.

Masalah Umum

  • configure saat ini tidak beroperasi. Rilis mendatang akan menambahkan setelan baru yang dapat Anda gunakan untuk mengontrol perilaku Session.