Runtime XR
Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
30 Juli 2025 | - | - | - | 1.0.0-alpha05 |
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-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") }
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-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
danTrackingState
. (I55880, b/334645808) - Menjadikan implementasi Config publik. (I95860, b/334645808)
- Memperkenalkan jenis
SessionCreateResult
danSessionConfigureResult
baru. (Icb8cb, b/334645808) - Tambahkan class
BoundingBox
baru 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.PixelDimensions
keandroidx.xr.runtime.math.IntSize2d
. Mengganti nama dan memindahkanandroidx.xr.scenecore.Dimensions
keandroidx.xr.runtime.math.FloatSize3d
. Mengganti namaandroidx.xr.scenecore.PlaneType
menjadiandroidx.xr.scenecore.PlaneOrientation
. Mengganti namaandroidx.xr.scenecore.PlaneSemantic
menjadiandroidx.xr.scenecore.PlaneSemanticType
. (Ifd405, b/416456228) - Menghapus class
androidx.xr.runtime.FoV
. Sebagai gantinya, gunakanandroidx.xr.runtime.FieldOfView
. (I9ae27) - Menambahkan overload tambahan untuk
Session.create
yang dapat memberikanLifecycleOwner
untuk dilampirkan ke Sesi. Perhatikan bahwa Aktivitas masih perlu disediakan untuk kepemilikan resource danLifecycleOwner
harus dicakup dalam Aktivitas. (I1690b) - Mengganti nama
FakeRuntimeAnchor.anchorsCreated
menjadianchorsCreatedCount
(I96df9, b/424441218) - Nilai Config
*Mode
telah 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:runtime
ke:xr:runtime:runtime-manifest
. Nama paket telah berubah dariandroidx.xr.runtime
menjadiandroidx.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 nullability 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-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 mengandalkan libraryxr:runtime:runtime-rxjava3
untuk mengakses API yang kompatibel. (I64122, b/426639775) - Pindahkan Coroutine ke
:xr:runtime:runtime-guava
dan Flow ke:xr:runtime:runtime-rxjava3
. (I60ae9) Session.create
danSession.configure
kini menampilkanSecurityException
jika izin yang memadai belum diberikan, bukan menampilkanSessionCreatePermissionsNotGranted
atauSessionConfigurePermissionsNotGranted
. (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.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 diSceneCore
. ActivityPose.hitTest
telah ditambahkan, sehingga memungkinkanhitTest
terhadap 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
HandJointType
danTrackingState
. (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
. ImplementasiOpenXR
telah diubah sebagaimana mestinya.- Persyaratan izin
android.permission.SCENE_UNDERSTANDING
diSession.configure
telah diubah menjadiandroid.permission.SCENE_UNDERSTANDING_COARSE
. LifecycleManager.configure
diimplementasikan dan kini meneruskan objekConfig
yang berisi properti untuk setiap fitur runtime yang dapat dikonfigurasi.Session.configure
kini dapat dipanggil denganConfig
untuk mengonfigurasi fitur runtime yang tersedia.Session.create
kini mendukung penerusanCoroutineContext
, bukanCoroutineDispatcher
.Session.create
mendukung pemuatanARCore
untuk Jetpack XR dan/atauSceneCore
. Setidaknya satu harus diberikan (tersedia versi pengujian).FakePerceptionManager
menampilkanAnchorInvalidUuidException
saat UUID yang tidak valid diteruskan keAnchor.load
danAnchor.unpersist
.CoreState
bukan lagi class data.
Perbaikan Bug
- Konfigurasi proguard Runtime tetap.
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
OpenXR
yang menampilkan Anchor kini akan memunculkanAnchorResourcesExhaustedException
jika menemukan kode error yang memberi tahu bahwa batas resourceOpenXR
telah tercapai. - Izin
android.permission.HAND_TRACKING
kini diperlukan untukSession.create
danSession.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 mendetail 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
configure
saat ini tidak melakukan apa pun. Rilis mendatang akan menambahkan setelan baru yang dapat Anda gunakan untuk mengontrol perilakuSession
.