ARCore per Jetpack XR
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 25 marzo 2026 | - | - | - | 1.0.0-alpha12 |
Dichiara le dipendenze
Per aggiungere una dipendenza da ARCore per Jetpack XR, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha12" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha12") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per saperne di più, consulta la documentazione di Issue Tracker.
Versione 1.0
Versione 1.0.0-alpha12
25 marzo 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha12 è stato rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
- Modifica di
Config.augmentedObjectCategoriesda List a Set. (I25a64, b/487376359) - I tipi
androidx.xr.arcore.Eyeeandroidx.xr.arcore.Hand. (I42438, b/449032900) - Aggiunta dell'overload
Session.createper consentire il passaggio di un contesto Android per l'ambito delle risorse. (I7d3fe, b/415805990, b/477386334) - Modifica di
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITinFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - L'API
TiltGestureè stata resa sperimentale perché potrebbe essere modificata o rimossa in futuro. Per utilizzare questa API, attiva@ExperimentalGesturesApi(Ic9858) - Aggiunta la possibilità di impostare le categorie per il monitoraggio di
AugmentedObjectin Config (I1f6e4, b/480220930)
Correzioni di bug
- Correzione della build di Chrome aggiornando il file META-INF/services/ con la posizione effettiva di
PerceptionRuntimeFactory. (I7a801, b/481288291)
Versione 1.0.0-alpha11
25 febbraio 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha11 è stato rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Versione 1.0.0-alpha10
28 gennaio 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha10 è stato rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- Introduzione dell'API
TiltGesture, che fornisce unFlowreattivo per il rilevamento stabile dello stato di inclinazione (SU/GIÙ) del dispositivo con l'avanzamento della transizione. (Ic269f, b/448152779) - ARCore per Jetpack XR ora utilizza il meccanismo di logging del runtime XR. Per saperne di più, consulta
androidx.xr.runtime.Log. (l52735, b/448697662)
Modifiche alle API
Geospatial.createPoseFromGeospatialPoseora funziona sui dispositivi con OpenXR. (l362c6)
Versione 1.0.0-alpha09
3 dicembre 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha09 è stato rilasciato. La versione 1.0.0-alpha09 contiene questi commit.
Versione 1.0.0-alpha08
19 novembre 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha08 è stato rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
ARCoreper Jetpack XR ora supporta i dispositivi su cui è disponibile Google Play Services per AR.- Aggiunta delle API Geospatial per la disponibilità di VPS e la conversione della posa (I144dc)
Versione 1.0.0-alpha07
22 ottobre 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha07 è stato rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Correzioni di bug
:xr:arcore:arcore-openxraggiunto come dipendenza di implementazione a:xr:arcore:arcore(I47315, b/446999229)
Versione 1.0.0-alpha06
24 settembre 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha06 è stato rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche alle API
- Il supporto per i test di
ARCoreè stato migrato al moduloxr:arcore:arcore-testing. (I25469) - Aggiunta di
ArDeviceeRenderViewpointper consentire alle applicazioni di recuperare la posa e la configurazione di visualizzazione del dispositivo a scopo di rendering. (Ib7e3f) - Rinomina gli enum
HandJointTypecon il prefissoHAND_JOINT_TYPE_. (I3f7cd) HandJointTypeè stato spostato daxr:runtime:runtimeaxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Stateora espone unjava.nio.FloatBuffercon le pose delle giunture in un formato che consente un facile accesso alle applicazioni orientate al rendimento. (I55e27)
Versione 1.0.0-alpha05
30 luglio 2025
androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 e androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 sono stati rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiunta di
getPrimaryHandSidein modo che lo sviluppatore possa ottenere le informazioni sul lato della mano (I270bd) - Aggiunta dell'API di controllo della disponibilità di VPS geospatial (I58573)
- Aggiunta dell'API ARCore per
checkVpsAvailability(Idbded) - Funzioni di estensione
stateFlowableaggiunte a:xr:arcore:arcore-rxjava3per l'utilizzo da parte degli sviluppatori Java. (I083aa, b/427247794)
Modifiche alle API
- I valori di configurazione
*Modesono stati rinominati per rifletterne il comportamento. (I6d247, b/414648065) - L'artefatto ARCore principale (xr:arcore:arcore) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono dipendere dalla libreria
xr:arcore:arcore-rxjava3per accedere alle API compatibili. (Ia525e, b/422794329) - L'artefatto ARCore principale (
xr:scenecore:scenecore) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono dipendere dalla libreriaxr:arcore:arcore-guavaper accedere alle API compatibili. (Iffcb4, b/422773524) Anchor.persistAsync()aggiunto aAnchorGuavaper l'utilizzo da parte degli sviluppatori Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)aggiunto aEarthGuavaper l'utilizzo da parte degli sviluppatori Java. (I66357, b/425992992)- Gli sviluppatori Java utilizzeranno le funzioni di estensione per
GltfModel.createAsyncinGltfModel.kt. Le funzioni asincrone inGltfModelverranno eliminate. (I0af60) - Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo-utilizzo. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin) (Ia8420, b/326456246) - Funzioni di estensione
subscribeAsFlowableaggiunte a:xr:arcore:arcore-rxjava3per l'utilizzo da parte degli sviluppatori Java. (Id3e49, b/427277298)
Versione 1.0.0-alpha04
7 maggio 2025
androidx.xr.arcore:arcore:1.0.0-alpha04 è stato rilasciato. La versione 1.0.0-alpha04 contiene questi commit.
Modifiche alle API
- I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive. (Idb6b5)
TrackingStateeHandJointTypesono stati spostati da ARCore a Runtime.Hand.State.isActive (boolean)è stato modificato inHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadrestituisceAnchor.AnchorLoadInvalidUuidse l'UUID non è valido.
Versione 1.0.0-alpha03
26 febbraio 2025
androidx.xr.arcore:arcore:1.0.0-alpha03 è stato rilasciato senza modifiche significative rispetto all'ultima versione alpha. La versione 1.0.0-alpha03 contiene questi commit.
Versione 1.0.0-alpha02
12 febbraio 2025
androidx.xr.arcore:arcore:1.0.0-alpha02 è stato rilasciato. La versione 1.0.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiunto il supporto per il tracciamento delle mani. Utilizza
Hand.lefteHand.rightper accedere alle informazioni di monitoraggio. - Le API che generano un'ancora (
Anchor.create,Anchor.load,Plane.createAnchor) ora restituiscono tutteAnchorCreateResulte implementano correttamenteAnchorCreateResourcesExhausted.
Correzioni di bug
Anchor.detachnon causa più un arresto anomalo irreversibile a causa di una condizione di race con il thread di aggiornamento della sessione.Anchor.createè più stabile quando viene eseguito su un emulatore
Versione 1.0.0-alpha01
12 dicembre 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01 è stato rilasciato.
Funzionalità della release iniziale
Ispirata alla libreria ARCore esistente, la libreria ARCore per Jetpack XR offre funzionalità per combinare i contenuti digitali con il mondo reale. Questa libreria include il rilevamento del movimento, le ancore persistenti, l'hit test e l'identificazione del piano con etichettatura semantica (ad esempio pavimento, pareti e piani di tavoli). Per saperne di più sull'utilizzo di ARCore per Jetpack XR, consulta la Guida per gli sviluppatori.
Session: ARCore per Jetpack XR utilizza Jetpack XR Runtime sotto il cofano per alimentare le sue funzionalità. Utilizzerai una sessione per interagire con la maggior parte delle API ARCore per Jetpack XR, quindi dai un'occhiata alla relativa documentazione.Plane: utilizza i piani per comprendere il mondo che ti circonda. Ogni piano ha unLabelche lo descrive semanticamente. Puoi utilizzaresubscribeper ricevere una notifica sugli ultimi piani rilevati ostateper ricevere una notifica sulle modifiche a un piano specifico.Anchor: un collegamento tra un oggetto virtuale e una posizione nel mondo reale. Le ancore possono essere collegate a una posizione specifica nello spazio (utilizzandocreate) o a unTrackable(utilizzandocreateAnchor).Le ancore possono essere riutilizzate in più sessioni. Puoi utilizzare
persistper memorizzarle,getPersistedAnchorUuidsper enumerarle eloadper recuperarle. Assicurati diunpersistquando non sono più in uso.Le ancore sono interoperabili tra ARCore per Jetpack XR e Jetpack SceneCore. Puoi creare un
AnchorEntityutilizzando un'ancora oppure, se hai un AnchorEntity esistente, puoi utilizzaregetAnchorper recuperare l'ancora di supporto.Offri interazioni utente naturali utilizzando
hitTest. Un hit test utilizza unRayper determinare quali contenuti interseca e per creare unAnchorda quella posizione. Valuta la possibilità di eseguire un hit test da unInputEvent.
Problemi noti di
Potrebbe verificarsi un ritardo tra la chiamata di
unpersiste la rimozione del relativo UUID dai risultati restituiti dagetPersistedAnchorUuids.createnon convaliderà se il sistema dispone di risorse sufficienti per restituire nuove ancore. La creazione di una quantità eccessiva di ancore potrebbe causare un arresto anomalo.Al momento non è supportata la persistenza di un'ancora che è stata precedentemente resa persistente e non persistente.
L'utilizzo nell'emulatore è supportato, ma il comportamento potrebbe non essere stabile come quando viene eseguito su un dispositivo reale. In particolare, le chiamate a
createpotrebbero non riuscire con un errore di codice nativo e interrompere immediatamente l'attività.In alcune circostanze, quando si chiama
persistcon il messaggio "Anchor was not persisted", potrebbe essere generato erroneamente unRuntimeException. In queste circostanze, la funzione avrà comunque esito positivo e l'ancora verrà resa persistente. Come soluzione alternativa, ti consigliamo di racchiudere la chiamata apersistcon un bloccotry.