Runtime 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 dal runtime 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.runtime:runtime:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha12" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha12") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing: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.runtime:runtime-*:1.0.0-alpha12 è stato rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
- Modifica di
Config.augmentedObjectCategoriesda una lista a un set (I25a64, b/487376359) - Rimozione del flag
unscaledGravityAlignedActivitySpacedaSession.create. OraActivitySpaceè sempre non scalato e allineato alla gravità. (If6f11, b/458173423) - Aggiunta del sovraccarico di
Session.createper consentire il passaggio di un contesto Android per l'ambito delle risorse. (I7d3fe, b/415805990, b/477386334) - Aggiunta di
JvmOverloadsaFloatSize2d.to3d,Matrix3.copyeMatrix4.copy(I69586, b/481371562) - Aggiunta della possibilità di impostare le categorie per il monitoraggio di
AugmentedObjectnella configurazione (I1f6e4, b/480220930) - Aggiunta del modulo
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
Versione 1.0.0-alpha11
25 febbraio 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha11 è stato rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- Interfaccia
ConfigModelimitata all'uso interno (Ibfb87) - Spostamento di
androidx.xr.runtime.Config.GeospatialModea livello di pacchetto (Ibe682) - Spostamento di
androidx.xr.runtime.Config.FaceTrackingModea livello di pacchetto (Iac501) - Spostamento di
androidx.xr.runtime.Config.AnchorPersistenceModea livello di pacchetto (I0360f) - Spostamento di
androidx.xr.runtime.Config.DepthEstimationModea livello di pacchetto (I7e3e9) - Spostamento di
androidx.xr.runtime.Config.DeviceTrackingModea livello di pacchetto (I3aacd) - Spostamento di
androidx.xr.runtime.Config.HandTrackingModea livello di pacchetto (I658f3) - Spostamento di
androidx.xr.runtime.Config.PlaneTrackingModea livello di pacchetto (Ia251b) - Spostamento di
androidx.xr.runtime.XrDevice.DisplayBlendModea livello di pacchetto (I6f333) - Aggiunta di un metodo factory per creare un
XrDeviceutilizzando un contesto, una sessione e unCoroutineContext. (I139c5) - Aggiunta di
SpatialApiVersionHelperper facilitare l'esecuzione di query sulla versione di runtime di Android XR disponibile sulla piattaforma. (I7c53c) - Aggiunto il modulo
xr:runtime:runtime-openxr(Ib42ea)
Versione 1.0.0-alpha10
28 gennaio 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha10 è stato rilasciato. La versione 1.0.0-alpha10 contiene questi commit.
Modifiche alle API
ConfigMode.HeadTrackingModeè stato sostituito conConfigMode.DeviceTrackingMode. (le273e, b/467150206)- Rimozione dei metodi
toNormalized,times(float),div(float)di Quaternion. Questi metodi sono ridondanti, dato che tutti i quaternioni vengono normalizzati al momento della costruzione e che la classe è immutabile. (l558fc, b/460210457)
Correzioni di bug
- Aggiunta di documentazione a
Session.createche illustra come evitare di creare una sessione nel thread principale dell'applicazione. (le5554, b/463687170) - Impedimento alle applicazioni di creare un
BoundingBoxcon un valoreNaN. (l58c14, b/464025895)
Versione 1.0.0-alpha09
3 dicembre 2025
androidx.xr.runtime:runtime-*: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.runtime:runtime-*:1.0.0-alpha08 è stato rilasciato. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Aggiunta di
XrDeviceper fornire informazioni sulle funzionalità del dispositivo. (Ic9d1f) - Aggiunta della nuova API
ConfigMode.isSupportedper eseguire query sulle funzionalità della sessione. (Iff7af) - Aggiunta dell'API
XrDisplay.BlendMode. (I484e4)
Modifiche alle API
- Rinominato [XrDevice.getPreferredBlendMode] in [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
Versione 1.0.0-alpha07
22 ottobre 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha07 è stato rilasciato. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- Rimozione di
SessionConfigureConfigureNotSupportede sostituzione conUnsupportedOperationException. (I7680f)
Versione 1.0.0-alpha06
24 settembre 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha06 è stato rilasciato. La versione 1.0.0-alpha06 contiene questi commit.
Modifiche alle API
HandJointTypeè stato spostato daxr:runtime:runtimeaxr:arcore:arcore. (Iadb9c, b/409058039)- Modifica dell'operatore di moltiplicazione per
componentWiseMultiplicationperVector2,Vector3,Vector4per scalare e rimozione del simbolo dell'operatore per coerenza con altre librerie matematiche. Rimozione anche dicomponentWiseDivisiondalle classi Vector anziché utilizzareVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Aggiunta di [unscaled] per restituire una matrice con una scala di uno. (I6381d, b/434928658)
:xr:runtime:runtime-guavaverrà rimosso perchéCoroutines.ktè stato sostituito conSuspendtoFutureAdapter. (I0cd3c, b/406597902)
Versione 1.0.0-alpha05
30 luglio 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha05 è stato rilasciato. La versione 1.0.0-alpha05 contiene questi commit.
Nuove funzionalità
- Aggiunta di
HandJointTypeeTrackingState. (I55880, b/334645808) - Rendi pubblica l'implementazione di Config. (I95860, b/334645808)
- Sono stati introdotti i nuovi tipi
SessionCreateResulteSessionConfigureResult. (Icb8cb, b/334645808) - Aggiunta di una nuova classe
BoundingBoxche rappresenta un riquadro di delimitazione allineato agli assi nello spazio 3D, definito dai punti angolari minimo e massimo. (Ic68c5, b/423073468)
Modifiche alle API
- Rinomina e sposta
androidx.xr.scenecore.PixelDimensionsinandroidx.xr.runtime.math.IntSize2d. Rinomina e spostaandroidx.xr.scenecore.Dimensionsinandroidx.xr.runtime.math.FloatSize3d. Rinominaandroidx.xr.scenecore.PlaneTypeinandroidx.xr.scenecore.PlaneOrientation. Rinominaandroidx.xr.scenecore.PlaneSemanticinandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228) - Rimozione della classe
androidx.xr.runtime.FoV. Utilizza inveceandroidx.xr.runtime.FieldOfView. (I9ae27) - Aggiunta di un sovraccarico aggiuntivo per
Session.createche può fornire unLifecycleOwnera cui collegare la sessione. Tieni presente che sarà comunque necessario fornire un'attività per la proprietà delle risorse e cheLifecycleOwnerdeve essere incluso nell'ambito dell'attività. (I1690b) - Rinomina di
FakeRuntimeAnchor.anchorsCreatedinanchorsCreatedCount(I96df9, b/424441218) - I valori
*Modedi Config sono stati rinominati per riflettere il loro comportamento. (I6d247, b/414648065) - I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5, b/344563182)
- Le API relative alle stringhe del manifest sono state spostate da
:xr:runtime:runtimea:xr:runtime:runtime-manifest. Il nome del pacchetto è stato modificato daandroidx.xr.runtimeaandroidx.xr.runtime.manifest. (I610ad, b/418800249) Session.resume(),Session.pause()eSession.destroy()sono stati rimossi dalla superficie dell'API. La sessione non è più unLifecycleOwner. Il ciclo di vita della sessione verrà ora collegato al ciclo di vita dell'attività passata inSession.create(). (I28a03)- Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo-uso. 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) - L'artefatto di runtime principale (
:xr:runtime:runtime) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono dipendere da:xr:runtime:runtime-guavaper accedere alle API compatibili. (I05d4a, b/426639315) - L'artefatto di runtime principale (
:xr:runtime:runtime) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono dipendere dalla libreriaxr:runtime:runtime-rxjava3per accedere alle API compatibili. (I64122, b/426639775) - Sposta le coroutine in
:xr:runtime:runtime-guavae i flussi in:xr:runtime:runtime-rxjava3. (I60ae9) - Ora
Session.createeSession.configuregeneranoSecurityExceptionquando non sono state concesse autorizzazioni sufficienti anziché restituireSessionCreatePermissionsNotGrantedoSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Versione 1.0.0-alpha04
7 maggio 2025
Sono stati rilasciati androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 e androidx.xr.runtime:runtime-testing:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- La sessione ora implementa
androidx.lifecycle.LifecycleOwnerper una maggiore interoperabilità con i paradigmi del ciclo di vita Android esistenti. - Le stringhe del manifest per Android XR sono specificate e documentate qui.
- Sono stati aggiunti metodi di estensione del callback di visibilità spaziale per monitorare quando i contenuti della scena si spostano all'interno o all'esterno del campo visivo dell'utente.
- È stata aggiunta una versione stub di
JxrPlatformAdapter(e di tutte le classi correlate). - La sessione verrà utilizzata sia in
SceneCoresia in Runtime anziché nella sessione inSceneCore. - È stato aggiunto
ActivityPose.hitTest, che consente di eseguire unhitTestsui contenuti virtuali. - Ora è supportata la specifica di più implementazioni di runtime in fase di compilazione. In fase di esecuzione ne verrà caricata solo una in base al set di funzionalità del dispositivo corrente.
- È stato aggiunto un nuovo tipo di componente
SpatialPointerComponent, che consente ai client di specificare l'icona di cui eseguire il rendering per il puntatore o di disattivarla. Al momento, questo componente può essere collegato solo alle istanzePanelEntity.
Modifiche alle API
- Rendi pubblica l'implementazione di Config. (I95860)
- Aggiunta di
HandJointTypeeTrackingState. (I55880) - I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5)
Hand.isActive (boolean)è stato modificato inHand.trackingState. L'implementazione diOpenXRè stata modificata di conseguenza.- Il requisito di autorizzazione
android.permission.SCENE_UNDERSTANDINGinSession.configureè stato modificato inandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configureè implementato e ora passa un oggettoConfigche contiene una proprietà per ogni funzionalità di runtime configurabile.- Ora è possibile chiamare
Session.configurecon unConfigper configurare le funzionalità di runtime disponibili. - Ora
Session.createsupporta il passaggio di unCoroutineContextanziché di unCoroutineDispatcher. Session.createsupporta il caricamento diARCoreper Jetpack XR e/oSceneCore. È necessario fornirne almeno uno (sono disponibili versioni di test).FakePerceptionManagergenera unAnchorInvalidUuidExceptionquando viene passato un UUID non valido aAnchor.loadeAnchor.unpersist.CoreStatenon è più una classe di dati.
Correzioni di bug
- Sono state corrette le configurazioni di ProGuard di Runtime.
Versione 1.0.0-alpha03
26 febbraio 2025
Sono stati rilasciati androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 e androidx.xr.runtime:runtime-testing:1.0.0-alpha03 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
Sono stati rilasciati androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 e androidx.xr.runtime:runtime-testing:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche che causano interruzioni e modifiche comportamentali
- Le funzioni di runtime
OpenXRche restituiscono un ancoraggio ora generanoAnchorResourcesExhaustedExceptionse rilevano un codice di errore che indica che è stato raggiunto il limite di risorseOpenXR. - Ora è richiesta l'autorizzazione
android.permission.HAND_TRACKINGperSession.createeSession.resume.
Nuove funzionalità
- È stato aggiunto il supporto per il tracciamento delle mani.
Correzioni di bug
- La creazione di ancoraggi è più stabile quando viene eseguita su un emulatore
Versione 1.0.0-alpha01
12 dicembre 2024
androidx.xr.runtime:runtime-* 1.0.0-alpha01 è stato rilasciato.
Funzionalità della release iniziale
Release iniziale di Jetpack XR Runtime. Questa libreria contiene elementi fondamentali di funzionalità per la suite di librerie Jetpack XR. Sono inclusi il rilevamento delle funzionalità, la gestione del ciclo di vita, la configurazione e altro ancora. La libreria Runtime fornisce diverse varianti (ad es. runtime-openxr o runtime-testing) a seconda della piattaforma di esecuzione. Inoltre, questa libreria offre astrazioni matematiche fondamentali come Vector3 e Matrix4 utilizzate in tutta la superficie dell'API Jetpack XR.
Session: ti offre controlli granulari sul sistema XR, tra cui la decisione di quando l'elaborazione viene eseguita e la configurazione generale. È anche l'handle che utilizzerai in tutte le altre API per sbloccare le funzionalità di sistema sottostanti.Pose: una posizione in un sistema di coordinate arbitrario a cui sono associati una posizione e un orientamento. Utilizzerai questa classe per comunicare la posizione degli oggetti con ARCore per Jetpack XR e Jetpack SceneCore.
Problemi noti
configureè attualmente un'operazione no-op. Le release future aggiungeranno nuove impostazioni che puoi utilizzare per controllare il comportamento diSession.