ARCore per Jetpack XR

Porta i contenuti digitali nel mondo reale con funzionalità di percezione.
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
21 ottobre 2026 1.0.0 - - 1.1.0-alpha01

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:

Alla moda

dependencies {
    implementation "androidx.xr.arcore:arcore:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.1.0-alpha01")
}

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.

Crea un nuovo problema

Per saperne di più, consulta la documentazione di Issue Tracker.

Versione 1.1

Versione 1.1.0-alpha01

21 ottobre 2026

androidx.xr.arcore:arcore-*:1.1.0-alpha01 è stato rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • È stata introdotta l'API SpatialAnnotation per il monitoraggio di geometrie e oggetti fisici 3D. Aggiunta di SpatialAnnotationTrackingOptions e del relativo pattern di creazione corrispondente per configurare il tracciamento spaziale tramite i buffer delle immagini della fotocamera. (I918ce)
  • Sono stati introdotti SpatialAnnotation e SpatialAnnotationTrackingMode in Jetpack XR ARCore, consentendo agli sviluppatori di configurare e monitorare geometrie quadrilatere 3D delimitate arbitrarie (Quad) destinate ad ambienti spaziali fisici reali. (I880e4)
  • È stato aggiunto TestSpatialAnnotation per consentire la simulazione programmatica delle annotazioni spaziali nei test automatici. (If2335)
  • Sono state aggiunte geospatialPose, horizontalAccuracy, verticalAccuracy e orientationYawAccuracy come nuove API per fornire ulteriori informazioni nello stato Geospatial. (If28f8)

Correzioni di bug

  • La dipendenza androidx.lifecycle:lifecycle-runtime è stata aggiornata alla versione 2.10.0. Questa versione è necessaria per eseguire i controlli lint del runtime del ciclo di vita in bundle con AGP versione 9.5.0-alpha04 o successive. (I99bfd, b/556807521)
  • È stato verificato il numero massimo di immagini pari a 0 durante la configurazione di AugmentedImage, generando UnsupportedOperationException anziché un errore imprevisto. I6ce439
  • Correggi le perdite di memoria e i problemi di concorrenza in AugmentedImageRenderer monitorando e annullando correttamente i job di rendering, eliminando le entità e modificando in sicurezza la raccolta di immagini. Ie70760

Versione 1.0

Versione 1.0.0

21 ottobre 2026

androidx.xr.arcore:arcore-*:1.0.0 è stato rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0:

  • ARCore per Jetpack XR è ora stabile. La libreria ARCore per Jetpack XR offre funzionalità per unire i contenuti digitali al mondo reale. Questa libreria include il rilevamento del movimento, gli ancoraggi persistenti, l'hit test, l'identificazione dei piani con etichettatura semantica (ad esempio pavimento, pareti e piani dei tavoli) e le pose geospaziali utilizzando il sistema di posizionamento visivo di Google.
  • Per saperne di più, consulta la nostra guida per gli sviluppatori e il Riferimento API.

Versione 1.0.0-rc02

7 ottobre 2026

androidx.xr.arcore:arcore-*:1.0.0-rc02 è stato rilasciato. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Risolto un problema per cui OpenXrRuntime non riusciva a configurare la sessione quando il monitoraggio delle immagini aumentate non era supportato. (I8b9759)
  • Sono stati risolti diversi problemi, tra cui: gestione della memoria migliorata in XrInstanceManager utilizzando applicationContext, risoluzione di potenziali problemi relativi al ciclo di vita semplificando i meccanismi di memorizzazione nella cache di Session e Scene e miglioramento di ReferenceCleaner per garantire registrazioni di pulizia thread-safe e disposizioni esplicite. (Id0b76c)

Versione 1.0.0-rc01

9 settembre 2026

androidx.xr.arcore:arcore-*:1.0.0-rc01 è stato rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Versione 1.0.0-beta02

12 agosto 2026

androidx.xr.arcore:arcore-*:1.0.0-beta02 è stato rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Correzioni di bug

  • Risolto il problema di contemporaneità nella persistenza degli ancoraggi OpenXR. (I15c8b)
  • Implementato toString() in più classi per il debug. (I587e8)

Versione 1.0.0-beta01

15 luglio 2026

androidx.xr.arcore:arcore-*:1.0.0-beta01 è stato rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Modifiche alle API

  • È stato aggiornato il modificatore ridimensionabile per utilizzare un ResizePolicy anziché due modificatori (I7fb0f, b/496257436, b/519672992)
  • Aggiunto l'overload spostabile con il parametro movePolicy e ritirati transformingMovable e movable (Ic88c1, b/481781189)
  • TrackingState.TRACKING_DEGRADED è stato rimosso dalla superficie dell'API pubblica e gli stati di runtime della mappa sono stati mappati a PAUSED. Aggiorna TrackingState per utilizzare gli enum anziché i valori int per la conversione di stringhe e la conversione di runtime. (I3eb5b, b/524326338)
  • Session.create è stata convertita in una funzione di sospensione. (I5d27f)
  • Ritirato ProjectedPermissionsResultContract (I141d5, b/515699436)
  • Aggiornato AnchorEntity in modo che venga chiamato AnchorSpace (Ifa95e, b/513619219)

Versione 1.0.0-alpha15

17 giugno 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha15 è stato rilasciato. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche alle API

  • Il campo HitResult.createAnchor è stato rimosso. Gli sviluppatori possono creare un ancoraggio che rappresenta HitResult se l'elemento tracciabile del risultato è un Anchorable fornendo la posizione del risultato alla funzione createAnchor di Anchorable. (Ia851e)
  • Il campo AnchorUnsupportedObject è stato rimosso. Non viene più generata da un runtime JXR ARCore. (Ia851e)
  • androidx.xr.arcore.Anchor e androidx.xr.arcore.ArDevice ora implementano androidx.xr.arcore.Trackable. (I57b65)
  • Depth.left, Depth.right e Depth.mono ora non sono nullable (I1fc5e)
  • Face.getUserFace ora non è nullable (I0eac1)
  • RenderViewpoint.left, RenderViewpoint.right, RenderViewpoint.mono ora non sono nullable (Icf7fa)
  • Hand.left e Hand.right non sono nullable (Icef37)
  • Aggiunta l'API QrCode (Ia0bbe)

Versione 1.0.0-alpha14

19 maggio 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha14 è stato rilasciato. La versione 1.0.0-alpha14 contiene questi commit.

Modifiche alle API

  • Deprecazione di GeospatialMode.VPS_AND_GPS a favore di GeospatialMode.SPATIAL e introduzione di una nuova modalità di monitoraggio a basso consumo, GeospatialMode.INERTIAL, che utilizza solo IMU e GPS. (I1e6cd)
  • Le classi di eccezione di ancoraggio personalizzate AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException e AnchorUnsupportedObjectException sono ora istanze RuntimeException, non destinate a essere controllate. (I9356e)
  • Aggiunta l'API ArCoreTestRule, tra cui TestArDevice, TestAugmentableObject, TestDepthMap, TestEye, TestFace, TestGeospatial, TestHand, TestPlane, TestRenderViewpoint e TestTrackable (I0ad3c)
  • Rimuove AnchorLoadInvalidUuid, AnchorCreateUnsupportedObject, AnchorCreateUnsupportedLocation e AnchorCreateNotAuthorized. Tutti questi errori sono ora eccezioni nel runtime. Rimuove AnchorCreateIllegalState. Nella maggior parte dei casi, è stato sostituito da AnchorCreateTrackingUnavailable. Aggiunge AnchorException e le classi derivate AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException e AnchorUnsupportedObjectException. (I4c4dd)

Contributo esterno

  • Aggiunta l'API AugmentedImage per il monitoraggio dei marker personalizzati (I0cf09)

Versione 1.0.0-alpha13

6 maggio 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha13 è stato rilasciato. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • TrackingState e VpsAvailabilityResult sono stati spostati in androidx.xr.arcore package e i tipi in androidx.xr.runtime sono ora deprecati. (Ic7930, b/480462213)
  • Plane.Type rinominato in PlaneType. (I8c90c, b/482675376)
  • Hand.HandSide rinominato in HandSide. (Ica562, b/482675376)
  • Plane.Label rinominato in PlaneLabel. (Ic6b67, b/482675376)
  • Geospatial.Surface rinominato in GeospatialSurface. (I1a8be, b/482675376)
  • Geospatial.State rinominato in GeospatialState. (I203fa, b/482675376)
  • L'API NativeData è stata spostata nella libreria xr:runtime:runtime. (I87954, b/494251500)
  • Session.create e Session.configure ora non sono esaustivi e richiedono clausole else nelle istruzioni when. (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView è stato ritirato. Usa invece androidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)
  • Orbiter è stato modificato in modo da utilizzare un OrbiterAnchorPoint + VolumeOffset o un OrbiterPoseProvider anziché position, offset, offsetType, alignment ed elevation. È stato rimosso anche il parametro shouldRenderInNonSpatial. Se lo sviluppatore non vuole che l'orbiter venga visualizzato in modalità non spaziale, deve inserirlo in un'istruzione if e controllare SpatialCapabilities. (I9fbb3, b/462428503)
  • Aggiunti modificatori mobili. Questi modificatori funzionano bene, al momento, per SpatialPanels e SpatialExternalSurface. A breve saranno supportati anche per SpatialGltfModels. Tuttavia, l'intenzione è quella di supportarli bene per tutti i SubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • Gli sviluppatori devono osservare il flusso ArDevice.state per monitorare State.trackingState e regolare il rendering o gli avvisi della loro applicazione di conseguenza in base alla fedeltà del tracciamento. (Ic00f0, b/445466590)
  • Valori enum HandJointType rinominati. (Ifbc83, b/482670596)
  • Rinominate FaceConfidenceRegion costanti. (Ia62d5, b/482670596)
  • Rinominate FaceBlendShapeType costanti. (I33b8b, b/482670596)
  • CreatePoseFromGeospatialPoseErrorInternal e CreateGeospatialPoseFromPoseErrorInternal aggiunti. (I4bcf1, b/482666615)
  • DeviceTrackingMode.LAST_KNOWN è stato rinominato in SPATIAL_LAST_KNOWN (con un fallback deprecato), è stato aggiunto INERTIAL_LAST_KNOWN per il monitoraggio 3DoF ed è stato aggiunto TRACKING_DEGRADED a TrackingState. (Ie661c, b/445466590)
  • GroupEntity deprecato. Per avere un'entità con solo la funzionalità di base, chiama Entity.create, che restituirà un'interfaccia Entity. (I4c450, b/473867483)
  • API XrLog aggiunta. Imposta XrLog.isEnabled su true per attivare il logging in JetpackXR e utilizza XrLog.Level per impostare il livello di log. (I76a1f, b/463460895, b/487378441)

Correzioni di bug

  • Aggiungi il supporto dello stato di monitoraggio del dispositivo ai dispositivi OpenXR. (I91485, b/445466590)

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

  • Config.augmentedObjectCategories è stato modificato da elenco a insieme. (I25a64, b/487376359)
  • I tipi androidx.xr.arcore.Eye e androidx.xr.arcore.Hand. (I42438, b/449032900)
  • Aggiunto l'overload Session.create per consentire il passaggio di un contesto Android per la definizione dell'ambito delle risorse. (I7d3fe, b/415805990, b/477386334)
  • Modifica FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT in FakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235)
  • L'API TiltGesture è in fase sperimentale, in quanto potrebbe essere modificata o rimossa in futuro. Per utilizzare questa API, attiva @ExperimentalGesturesApi (Ic9858)
  • È stata aggiunta la possibilità di impostare le categorie per il monitoraggio di AugmentedObject in Config (I1f6e4, b/480220930)

Correzioni di bug

  • È stata corretta la 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à

  • Introduce l'API TiltGesture, che fornisce un Flow reattivo per il rilevamento stabile dello stato di inclinazione del dispositivo (SU/GIÙ) con l'avanzamento della transizione. (Ic269f, b/448152779)
  • ARCore per Jetpack XR ora utilizza il meccanismo di logging del runtime XR. Consulta androidx.xr.runtime.Log per ulteriori informazioni. (l52735, b/448697662)

Modifiche alle API

  • Geospatial.createPoseFromGeospatialPose ora funziona sui dispositivi con OpenXR abilitato. (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à

  • ARCore per Jetpack XR ora supporta i dispositivi su cui è disponibile Google Play Services per AR.
  • Sono state aggiunte le 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-openxr è stato aggiunto 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 dei test per ARCore è stato migrato al modulo xr:arcore:arcore-testing. (I25469)
  • Aggiunta di ArDevice e RenderViewpoint per consentire alle applicazioni di recuperare la postura e la configurazione del display del dispositivo per scopi di rendering. (Ib7e3f)
  • Rinomina gli enum HandJointType con il prefisso HAND_JOINT_TYPE_. (I3f7cd)
  • HandJointType è stato spostato in xr:arcore:arcore da xr:runtime:runtime. (Iadb9c, b/409058039)
  • Hand.State ora espone un java.nio.FloatBuffer con le pose delle articolazioni in un formato che consente un facile accesso alle applicazioni orientate alle prestazioni. (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 getPrimaryHandSide per consentire allo sviluppatore di ottenere le informazioni sul lato della mano (I270bd)
  • Aggiungi l'API di controllo della disponibilità di VPS geospaziale (I58573)
  • Aggiungi l'API ARCore per checkVpsAvailability (Idbded)
  • Funzioni di estensione stateFlowable aggiunte a :xr:arcore:arcore-rxjava3 per l'utilizzo da parte degli sviluppatori Java. (I083aa, b/427247794)

Modifiche alle API

  • I valori di configurazione *Mode sono stati rinominati per riflettere il loro comportamento. (I6d247, b/414648065)
  • L'artefatto ARCore principale (xr:arcore:arcore) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono fare affidamento sulla libreria xr:arcore:arcore-rxjava3 per 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 fare affidamento sulla libreria xr:arcore:arcore-guava per accedere alle API compatibili. (Iffcb4, b/422773524)
  • Anchor.persistAsync() aggiunto a AnchorGuava per l'utilizzo da parte degli sviluppatori Java. (I4af1c, b/425984631)
  • Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) aggiunto a EarthGuava per l'utilizzo da parte degli sviluppatori Java. (I66357, b/425992992)
  • Gli sviluppatori Java utilizzeranno le funzioni di estensione per GltfModel.createAsync in GltfModel.kt. Le funzioni asincrone in GltfModel verranno eliminate. (I0af60)
  • Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per applicare l'utilizzo corretto: -Xjspecify-annotations=strict (questa è l'impostazione predefinita a partire dalla versione 2.1.0 del compilatore Kotlin) (Ia8420, b/326456246)
  • Funzioni di estensione subscribeAsFlowable aggiunte a :xr:arcore:arcore-rxjava3 per 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 KGP 2.0.0 o versioni successive per essere utilizzati. (Idb6b5)
  • TrackingState e HandJointType sono stati spostati da ARCore a Runtime.
  • Hand.State.isActive (boolean) è stato modificato in Hand.State.trackingState (androidx.xr.runtime.TrackingState).
  • Anchor.load restituisce Anchor.AnchorLoadInvalidUuid se l'UUID non è valido.

Versione 1.0.0-alpha03

26 febbraio 2025

androidx.xr.arcore:arcore:1.0.0-alpha03 viene rilasciata 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à

  • È stato aggiunto il supporto del tracciamento delle mani. Utilizza Hand.left e Hand.right per accedere alle informazioni di monitoraggio.
  • Le API che generano un ancoraggio (Anchor.create, Anchor.load, Plane.createAnchor) ora restituiscono tutte AnchorCreateResult e implementano correttamente AnchorCreateResourcesExhausted.

Correzioni di bug

  • Anchor.detach non causa più un arresto anomalo irreversibile a causa di una race condition con il thread di aggiornamento della sessione.
  • Anchor.create è più stabile se 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 unire i contenuti digitali al mondo reale. Questa libreria include il rilevamento del movimento, gli ancoraggi persistenti, l'hit test e l'identificazione dei piani con etichettatura semantica (ad esempio pavimento, pareti e piani dei tavoli). Consulta la guida per gli sviluppatori per scoprire di più sull'utilizzo di ARCore per Jetpack XR.

  • Session: ARCore per Jetpack XR utilizza Jetpack XR Runtime in background per supportare la sua funzionalità. Utilizzerai una sessione per interagire con la maggior parte delle API ARCore per Jetpack XR, quindi consulta la relativa documentazione.

  • Plane: utilizza i piani per comprendere il mondo circostante. Ogni piano ha un Label che lo descrive semanticamente. Puoi utilizzare subscribe per ricevere notifiche sugli ultimi piani rilevati o state per ricevere notifiche sulle modifiche a un piano specifico.

  • Anchor: un collegamento tra un oggetto virtuale e una posizione reale. Le ancora possono essere collegate a una posizione specifica nello spazio (utilizzando create) o a un Trackable (utilizzando createAnchor).

    • Le ancora possono essere riutilizzate in più sessioni. Puoi utilizzare persist per archiviarli, getPersistedAnchorUuids per enumerarli e load per recuperarli. Assicurati di unpersist quando non sono più in uso.

    • Le ancora sono interoperabili tra ARCore per Jetpack XR e Jetpack SceneCore. Puoi creare un AnchorEntity utilizzando un ancoraggio o, se hai un AnchorEntity esistente, puoi utilizzare getAnchor per recuperare l'ancoraggio di supporto.

    • Offri interazioni utente naturali utilizzando hitTest. Un hitTest utilizza un Ray per determinare quali contenuti interseca e per creare un Anchor da quella posizione. Valuta la possibilità di eseguire un hitTest da un InputEvent.

Problemi noti

  • Potrebbe esserci un ritardo tra la chiamata di unpersist e la rimozione del relativo UUID dai risultati restituiti da getPersistedAnchorUuids.

  • create non convaliderà che il sistema disponga di risorse sufficienti per restituire nuove ancora. La creazione di un numero eccessivo di ancoraggi 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 l'esecuzione avviene su un dispositivo effettivo. In particolare, le chiamate a create potrebbero non riuscire con un errore del codice nativo e terminare immediatamente l'attività.

  • In alcuni casi, potrebbe essere generato erroneamente un RuntimeException quando si chiama persist con il messaggio "Anchor was not persisted". In questi casi, la funzione verrà comunque eseguita correttamente e l'ancoraggio verrà mantenuto. Come soluzione alternativa, ti consigliamo di eseguire il wrapping della chiamata a persist con un blocco try.