ARCore untuk Jetpack XR
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 22 Oktober 2025 | - | - | - | 1.0.0-alpha07 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada ARCore untuk Jetpack 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.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3: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.arcore:arcore-*:1.0.0-alpha07 dirilis. Versi 1.0.0-alpha07 berisi commit ini.
Perbaikan Bug
:xr:arcore:arcore-openxrditambahkan sebagai dependensi penerapan ke:xr:arcore:arcore(I47315, b/446999229)
Versi 1.0.0-alpha06
24 September 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha06 dirilis. Versi 1.0.0-alpha06 berisi commit ini.
Perubahan API
- Dukungan pengujian untuk
ARCoretelah dimigrasikan ke modulxr:arcore:arcore-testing. (I25469) - Menambahkan
ArDevicedanRenderViewpointuntuk mengizinkan aplikasi mengambil konfigurasi tampilan dan postur perangkat untuk tujuan rendering. (Ib7e3f) - Ganti nama enum
HandJointTypedengan awalanHAND_JOINT_TYPE_. (I3f7cd) HandJointTypetelah dipindahkan kexr:arcore:arcoredarixr:runtime:runtime. (Iadb9c, b/409058039)Hand.Statekini mengeksposjava.nio.FloatBufferdengan pose gabungan dalam format yang memungkinkan akses mudah ke aplikasi berorientasi performa. (I55e27)
Versi 1.0.0-alpha05
30 Juli 2025
androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05, dan androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 dirilis. Versi 1.0.0-alpha05 berisi commit ini.
Fitur Baru
- Tambahkan
getPrimaryHandSideagar developer bisa mendapatkan info sisi tangan (I270bd) - Menambahkan API ketersediaan VPS pemeriksaan geospasial (I58573)
- Menambahkan ARCore API untuk
checkVpsAvailability(Idbded) - Fungsi ekstensi
stateFlowableditambahkan ke:xr:arcore:arcore-rxjava3untuk digunakan oleh developer Java. (I083aa, b/427247794)
Perubahan API
- Nilai Config
*Modetelah diganti namanya untuk mencerminkan perilakunya. (I6d247, b/414648065) - Artefak ARCore utama (xr:arcore:arcore) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat mengandalkan library
xr:arcore:arcore-rxjava3untuk mengakses API yang kompatibel. (Ia525e, b/422794329) - Artefak ARCore utama (
xr:scenecore:scenecore) hanya akan berisi API asinkron gaya Kotlin. Developer Java dapat mengandalkan libraryxr:arcore:arcore-guavauntuk mengakses API yang kompatibel. (Iffcb4, b/422773524) Anchor.persistAsync()ditambahkan keAnchorGuavauntuk digunakan oleh developer Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)ditambahkan keEarthGuavauntuk digunakan oleh developer Java. (I66357, b/425992992)- Developer Java akan menggunakan fungsi ekstensi untuk
GltfModel.createAsyncdiGltfModel.kt. Fungsi asinkron diGltfModelakan dihapus. (I0af60) - 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) - Fungsi ekstensi
subscribeAsFlowableditambahkan ke:xr:arcore:arcore-rxjava3untuk digunakan oleh developer Java. (Id3e49, b/427277298)
Versi 1.0.0-alpha04
7 Mei 2025
androidx.xr.arcore:arcore:1.0.0-alpha04 dirilis. Versi 1.0.0-alpha04 berisi commit ini.
Perubahan API
- Project yang dirilis dengan Kotlin 2.0 memerlukan KGP 2.0.0 atau yang lebih baru untuk digunakan. (Idb6b5)
TrackingStatedanHandJointTypetelah dipindahkan dari ARCore ke Runtime.Hand.State.isActive (boolean)telah diganti menjadiHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadmenampilkanAnchor.AnchorLoadInvalidUuidjika UUID tidak valid.
Versi 1.0.0-alpha03
26 Februari 2025
androidx.xr.arcore:arcore: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.arcore:arcore:1.0.0-alpha02 dirilis. Versi 1.0.0-alpha02 berisi commit ini.
Fitur Baru
- Menambahkan dukungan pelacakan tangan. Gunakan
Hand.leftdanHand.rightuntuk mengakses informasi pelacakan. - Semua API yang membuat anchor (
Anchor.create,Anchor.load,Plane.createAnchor) kini menampilkanAnchorCreateResultdan mengimplementasikanAnchorCreateResourcesExhausteddengan benar.
Perbaikan bug
Anchor.detachtidak lagi menyebabkan error fatal karena kondisi persaingan dengan thread update Sesi.Anchor.createlebih stabil saat berjalan di emulator
Versi 1.0.0-alpha01
12 Desember 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01 dirilis.
Fitur rilis awal
Terinspirasi oleh library ARCore yang ada, library ARCore untuk Jetpack XR menyediakan kemampuan untuk memadukan konten digital dengan dunia nyata. Library ini mencakup pelacakan gerakan, anchor persisten, pengujian hit, dan identifikasi bidang dengan pelabelan semantik (misalnya, lantai, dinding, dan permukaan meja). Lihat panduan developer untuk mempelajari lebih lanjut cara menggunakan ARCore untuk Jetpack XR.
Session: ARCore untuk Jetpack XR menggunakan Jetpack XR Runtime di balik layar untuk mendukung fungsinya. Anda akan menggunakan Sesi untuk berinteraksi dengan sebagian besar ARCore untuk Jetpack XR API, jadi lihat dokumentasinya.Plane: Menggunakan bidang untuk memahami dunia di sekitar Anda. Setiap bidang memilikiLabelyang mendeskripsikannya secara semantik. Anda dapat menggunakansubscribeuntuk mendapatkan notifikasi tentang pesawat terbaru yang terdeteksi ataustateuntuk mendapatkan notifikasi tentang perubahan pada pesawat tertentu.Anchor: Link antara objek virtual dan lokasi dunia nyata. Anchor dapat dilampirkan ke lokasi tertentu di ruang (menggunakancreate) atauTrackable(menggunakancreateAnchor).Anchor dapat digunakan kembali di seluruh sesi. Anda dapat menggunakan
persistuntuk menyimpannya,getPersistedAnchorUuidsuntuk menghitungnya, danloaduntuk mengambilnya. Pastikan Andaunpersistperangkat tersebut setelah tidak lagi digunakan.Anchor dapat beroperasi secara interoperabel antara ARCore untuk Jetpack XR dan Jetpack SceneCore. Anda dapat membuat
AnchorEntitymenggunakan anchor atau, jika Anda memiliki AnchorEntity yang sudah ada, Anda dapat menggunakangetAnchoruntuk mengambil anchor pendukungnya.Menawarkan interaksi pengguna yang alami menggunakan
hitTest. hitTest menggunakanRayuntuk menentukan konten mana yang berpotongan dan membuatAnchordari lokasi tersebut. Pertimbangkan untuk melakukan hitTest dariInputEvent.
Masalah Umum
Mungkin ada penundaan antara pemanggilan
unpersistdan UUID-nya dihapus dari hasil yang ditampilkan olehgetPersistedAnchorUuids.createtidak akan memvalidasi bahwa sistem memiliki resource yang cukup untuk menampilkan anchor baru. Membuat terlalu banyak penanda dapat menyebabkan aplikasi error.Mempertahankan Anchor yang sebelumnya dipertahankan dan tidak dipertahankan saat ini tidak didukung.
Penggunaan di emulator didukung, tetapi perilakunya mungkin tidak stabil seperti saat dijalankan di perangkat yang sebenarnya. Khususnya, panggilan ke
createdapat gagal dengan error kode native dan segera menghentikan aktivitas.Dalam situasi tertentu,
RuntimeExceptionmungkin salah dilempar saat memanggilpersistdengan pesan “Anchor was not persisted”. Dalam situasi tersebut, fungsi akan tetap berhasil dan penanda akan tetap dipertahankan. Sebaiknya bungkus panggilan kepersistdengan bloktrysebagai solusinya.