ARCore per Jetpack XR
| 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.
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
SpatialAnnotationper il monitoraggio di geometrie e oggetti fisici 3D. Aggiunta diSpatialAnnotationTrackingOptionse del relativo pattern di creazione corrispondente per configurare il tracciamento spaziale tramite i buffer delle immagini della fotocamera. (I918ce) - Sono stati introdotti
SpatialAnnotationeSpatialAnnotationTrackingModein 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
TestSpatialAnnotationper consentire la simulazione programmatica delle annotazioni spaziali nei test automatici. (If2335) - Sono state aggiunte
geospatialPose,horizontalAccuracy,verticalAccuracyeorientationYawAccuracycome 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, generandoUnsupportedOperationExceptionanziché un errore imprevisto. I6ce439 - Correggi le perdite di memoria e i problemi di concorrenza in
AugmentedImageRenderermonitorando 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
OpenXrRuntimenon 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
XrInstanceManagerutilizzandoapplicationContext, risoluzione di potenziali problemi relativi al ciclo di vita semplificando i meccanismi di memorizzazione nella cache diSessioneScenee miglioramento diReferenceCleanerper 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
ResizePolicyanziché due modificatori (I7fb0f, b/496257436, b/519672992) - Aggiunto l'overload spostabile con il parametro
movePolicye ritiratitransformingMovableemovable(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. AggiornaTrackingStateper 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
AnchorEntityin modo che venga chiamatoAnchorSpace(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 rappresentaHitResultse l'elemento tracciabile del risultato è unAnchorablefornendo la posizione del risultato alla funzionecreateAnchordiAnchorable. (Ia851e) - Il campo
AnchorUnsupportedObjectè stato rimosso. Non viene più generata da un runtime JXR ARCore. (Ia851e) androidx.xr.arcore.Anchoreandroidx.xr.arcore.ArDeviceora implementanoandroidx.xr.arcore.Trackable. (I57b65)Depth.left,Depth.righteDepth.monoora non sono nullable (I1fc5e)Face.getUserFaceora non è nullable (I0eac1)RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoora non sono nullable (Icf7fa)Hand.lefteHand.rightnon 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_GPSa favore diGeospatialMode.SPATIALe 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,AnchorRuntimeFailureExceptioneAnchorUnsupportedObjectExceptionsono ora istanzeRuntimeException, non destinate a essere controllate. (I9356e) - Aggiunta l'API
ArCoreTestRule, tra cuiTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointeTestTrackable(I0ad3c) - Rimuove
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationeAnchorCreateNotAuthorized. Tutti questi errori sono ora eccezioni nel runtime. RimuoveAnchorCreateIllegalState. Nella maggior parte dei casi, è stato sostituito daAnchorCreateTrackingUnavailable. AggiungeAnchorExceptione le classi derivateAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptioneAnchorUnsupportedObjectException. (I4c4dd)
Contributo esterno
- Aggiunta l'API
AugmentedImageper 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
TrackingStateeVpsAvailabilityResultsono stati spostati inandroidx.xr.arcore packagee i tipi inandroidx.xr.runtimesono ora deprecati. (Ic7930, b/480462213)Plane.Typerinominato inPlaneType. (I8c90c, b/482675376)Hand.HandSiderinominato inHandSide. (Ica562, b/482675376)Plane.Labelrinominato inPlaneLabel. (Ic6b67, b/482675376)Geospatial.Surfacerinominato inGeospatialSurface. (I1a8be, b/482675376)Geospatial.Staterinominato inGeospatialState. (I203fa, b/482675376)- L'API
NativeDataè stata spostata nella libreriaxr:runtime:runtime. (I87954, b/494251500) Session.createeSession.configureora non sono esaustivi e richiedono clausole else nelle istruzioni when. (I9885e, b/495805998, b/495805998)androidx.xr.runtime.FieldOfViewè stato ritirato. Usa inveceandroidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)- Orbiter è stato modificato in modo da utilizzare un
OrbiterAnchorPoint + VolumeOffseto unOrbiterPoseProvideranziché position, offset, offsetType, alignment ed elevation. È stato rimosso anche il parametroshouldRenderInNonSpatial. Se lo sviluppatore non vuole che l'orbiter venga visualizzato in modalità non spaziale, deve inserirlo in un'istruzione if e controllareSpatialCapabilities. (I9fbb3, b/462428503) - Aggiunti modificatori mobili. Questi modificatori funzionano bene, al momento, per
SpatialPanelseSpatialExternalSurface. A breve saranno supportati anche perSpatialGltfModels. Tuttavia, l'intenzione è quella di supportarli bene per tutti iSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) - Gli sviluppatori devono osservare il flusso
ArDevice.stateper monitorareState.trackingStatee regolare il rendering o gli avvisi della loro applicazione di conseguenza in base alla fedeltà del tracciamento. (Ic00f0, b/445466590) - Valori enum
HandJointTyperinominati. (Ifbc83, b/482670596) - Rinominate
FaceConfidenceRegioncostanti. (Ia62d5, b/482670596) - Rinominate
FaceBlendShapeTypecostanti. (I33b8b, b/482670596) CreatePoseFromGeospatialPoseErrorInternaleCreateGeospatialPoseFromPoseErrorInternalaggiunti. (I4bcf1, b/482666615)DeviceTrackingMode.LAST_KNOWNè stato rinominato inSPATIAL_LAST_KNOWN(con un fallback deprecato), è stato aggiuntoINERTIAL_LAST_KNOWNper il monitoraggio 3DoF ed è stato aggiuntoTRACKING_DEGRADEDaTrackingState. (Ie661c, b/445466590)GroupEntitydeprecato. Per avere un'entità con solo la funzionalità di base, chiamaEntity.create, che restituirà un'interfaccia Entity. (I4c450, b/473867483)- API
XrLogaggiunta. ImpostaXrLog.isEnabledsutrueper attivare il logging in JetpackXR e utilizzaXrLog.Levelper 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.Eyeeandroidx.xr.arcore.Hand. (I42438, b/449032900) - Aggiunto l'overload
Session.createper consentire il passaggio di un contesto Android per la definizione dell'ambito delle risorse. (I7d3fe, b/415805990, b/477386334) - Modifica
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITinFakeRuntimeAnchor.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
AugmentedObjectin 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 unFlowreattivo 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.Logper ulteriori informazioni. (l52735, b/448697662)
Modifiche alle API
Geospatial.createPoseFromGeospatialPoseora 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à
ARCoreper 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 moduloxr:arcore:arcore-testing. (I25469) - Aggiunta di
ArDeviceeRenderViewpointper consentire alle applicazioni di recuperare la postura e la configurazione del display del dispositivo per scopi di rendering. (Ib7e3f) - Rinomina gli enum
HandJointTypecon il prefissoHAND_JOINT_TYPE_. (I3f7cd) HandJointTypeè stato spostato inxr:arcore:arcoredaxr:runtime:runtime. (Iadb9c, b/409058039)Hand.Stateora espone unjava.nio.FloatBuffercon 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
getPrimaryHandSideper 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
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 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-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 fare affidamento sulla 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 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
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 KGP 2.0.0 o versioni successive per essere utilizzati. (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 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.lefteHand.rightper accedere alle informazioni di monitoraggio. - Le API che generano un ancoraggio (
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 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 unLabelche lo descrive semanticamente. Puoi utilizzaresubscribeper ricevere notifiche sugli ultimi piani rilevati ostateper 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 (utilizzandocreate) o a unTrackable(utilizzandocreateAnchor).Le ancora possono essere riutilizzate in più sessioni. Puoi utilizzare
persistper archiviarli,getPersistedAnchorUuidsper enumerarli eloadper recuperarli. Assicurati diunpersistquando non sono più in uso.Le ancora sono interoperabili tra ARCore per Jetpack XR e Jetpack SceneCore. Puoi creare un
AnchorEntityutilizzando un ancoraggio o, se hai un AnchorEntity esistente, puoi utilizzaregetAnchorper recuperare l'ancoraggio di supporto.Offri interazioni utente naturali utilizzando
hitTest. Un hitTest utilizza unRayper determinare quali contenuti interseca e per creare unAnchorda quella posizione. Valuta la possibilità di eseguire un hitTest da unInputEvent.
Problemi noti
Potrebbe esserci un ritardo tra la chiamata di
unpersiste la rimozione del relativo UUID dai risultati restituiti dagetPersistedAnchorUuids.createnon 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
createpotrebbero non riuscire con un errore del codice nativo e terminare immediatamente l'attività.In alcuni casi, potrebbe essere generato erroneamente un
RuntimeExceptionquando si chiamapersistcon 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 apersistcon un bloccotry.