Runtime XR
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 22 Oktober 2025 | - | - | - | 1.0.0-alpha07 |
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-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
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.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.0
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
- Hapus
SessionConfigureConfigureNotSupporteddan ganti denganUnsupportedOperationException. (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
HandJointTypetelah dipindahkan kexr:arcore:arcoredarixr:runtime:runtime. (Iadb9c, b/409058039)- Mengubah operator perkalian untuk
componentWiseMultiplicationmenjadiVector2,Vector3,Vector4untuk penskalaan dan menghapus simbol operator agar konsisten dengan library matematika lainnya. Selain itu, menghapuscomponentWiseDivisiondari class Vector sebagai ganti penggunaanVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Menambahkan [unscaled] untuk menampilkan Matriks dengan skala satu. (I6381d, b/434928658)
:xr:runtime:runtime-guavaakan dihapus karenaCoroutines.kttelah diganti denganSuspendtoFutureAdapter. (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
HandJointTypedanTrackingState. (I55880, b/334645808) - Menjadikan implementasi Config publik. (I95860, b/334645808)
- Memperkenalkan jenis
SessionCreateResultdanSessionConfigureResultbaru. (Icb8cb, b/334645808) - Tambahkan class
BoundingBoxbaru yang merepresentasikan kotak pembatas yang sejajar 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.PixelDimensionskeandroidx.xr.runtime.math.IntSize2d. Mengganti nama dan memindahkanandroidx.xr.scenecore.Dimensionskeandroidx.xr.runtime.math.FloatSize3d. Mengganti namaandroidx.xr.scenecore.PlaneTypemenjadiandroidx.xr.scenecore.PlaneOrientation. Mengganti namaandroidx.xr.scenecore.PlaneSemanticmenjadiandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228) - Menghapus class
androidx.xr.runtime.FoV. Sebagai gantinya, gunakanandroidx.xr.runtime.FieldOfView. (I9ae27) - Menambahkan overload tambahan untuk
Session.createyang dapat memberikanLifecycleOwneruntuk dilampirkan ke Sesi. Perhatikan bahwa Aktivitas masih perlu disediakan untuk kepemilikan resource danLifecycleOwnerharus dicakup dalam Aktivitas. (I1690b) - Mengganti nama
FakeRuntimeAnchor.anchorsCreatedmenjadianchorsCreatedCount(I96df9, b/424441218) - Nilai Config
*Modetelah diganti namanya untuk mencerminkan perilakunya. (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:runtimeke:xr:runtime:runtime-manifest. Nama paket telah berubah dariandroidx.xr.runtimemenjadiandroidx.xr.runtime.manifest. (I610ad, b/418800249) Session.resume(),Session.pause(), danSession.destroy()telah dihapus dari platform API. Sesi bukan lagiLifecycleOwner. Siklus proses Sesi kini akan dilampirkan ke siklus proses Aktivitas yang diteruskan diSession.create(). (I28a03)- Library ini kini menggunakan anotasi nullabilitas JSpecify, yang merupakan penggunaan jenis. Developer Kotlin harus menggunakan argumen compiler berikut untuk menerapkan penggunaan yang benar:
-Xjspecify-annotations=strict(ini adalah setelan default mulai dari 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 mengandalkan:xr:runtime:runtime-guavauntuk mengakses API yang kompatibel. (I05d4a, b/426639315) - Artefak Runtime utama (
:xr:runtime:runtime) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat mengandalkan libraryxr:runtime:runtime-rxjava3untuk mengakses API yang kompatibel. (I64122, b/426639775) - Pindahkan Coroutine ke
:xr:runtime:runtime-guavadan Flow ke:xr:runtime:runtime-rxjava3. (I60ae9) Session.createdanSession.configurekini menampilkanSecurityExceptionjika izin yang memadai belum diberikan, bukan menampilkanSessionCreatePermissionsNotGrantedatauSessionConfigurePermissionsNotGranted. (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
- Session kini menerapkan
androidx.lifecycle.LifecycleOwneruntuk interoperabilitas yang lebih baik dengan paradigma siklus proses Android yang ada. - String manifes untuk Android XR ditentukan dan didokumentasikan di sini.
- Metode ekstensi Callback Visibilitas Spasial 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
SceneCoredan Runtime, bukan Sesi diSceneCore. ActivityPose.hitTesttelah ditambahkan, sehingga memungkinkanhitTestterhadap konten virtual.- Menentukan beberapa implementasi Runtime pada waktu kompilasi kini didukung. Hanya satu yang akan dimuat pada waktu eksekusi berdasarkan set fitur perangkat saat ini.
- Menambahkan jenis Komponen baru
SpatialPointerComponent, yang memungkinkan klien menentukan ikon yang dirender untuk penunjuk, atau menonaktifkan ikon. Saat ini, Komponen ini hanya dapat dilampirkan ke instancePanelEntity.
Perubahan API
- Menjadikan implementasi Config publik. (I95860)
- Menambahkan
HandJointTypedanTrackingState. (I55880) - Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan (Idb6b5)
Hand.isActive (boolean)telah diganti menjadiHand.trackingState. ImplementasiOpenXRtelah diubah sebagaimana mestinya.- Persyaratan izin
android.permission.SCENE_UNDERSTANDINGdiSession.configuretelah diubah menjadiandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configurediimplementasikan dan kini meneruskan objekConfigyang berisi properti untuk setiap fitur runtime yang dapat dikonfigurasi.Session.configurekini dapat dipanggil denganConfiguntuk mengonfigurasi fitur runtime yang tersedia.Session.createkini mendukung penerusanCoroutineContext, bukanCoroutineDispatcher.Session.createmendukung pemuatanARCoreuntuk Jetpack XR dan/atauSceneCore. Setidaknya satu harus diberikan (tersedia versi pengujian).FakePerceptionManagermenampilkanAnchorInvalidUuidExceptionsaat UUID yang tidak valid diteruskan keAnchor.loaddanAnchor.unpersist.CoreStatebukan 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 & perubahan perilaku
- Fungsi runtime
OpenXRyang menampilkan Anchor kini akan memunculkanAnchorResourcesExhaustedExceptionjika menemukan kode error yang memberi tahu bahwa batas resourceOpenXRtelah tercapai. - Izin
android.permission.HAND_TRACKINGkini diperlukan untukSession.createdanSession.resume.
Fitur baru
- Menambahkan dukungan pelacakan tangan.
Perbaikan bug
- Membuat penanda lebih stabil saat dijalankan 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-bagian fungsi mendasar 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 mendasar seperti Vector3 dan Matrix4 yang digunakan di seluruh permukaan API Jetpack XR.
Session: Memberi Anda kontrol terperinci atas sistem XR, termasuk memutuskan kapan pemrosesan sedang dan tidak sedang dieksekusi serta konfigurasi keseluruhan. Objek ini juga merupakan handle 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 terkait. Anda akan menggunakan class ini untuk mengomunikasikan lokasi objek dengan ARCore untuk Jetpack XR dan Jetpack SceneCore.
Masalah Umum
configuresaat ini tidak melakukan apa pun. Rilis mendatang akan menambahkan setelan baru yang dapat Anda gunakan untuk mengontrol perilakuSession.