Runtime XR
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 22 ottobre 2025 | - | - | - | 1.0.0-alpha07 |
Dichiara le dipendenze
Per aggiungere una dipendenza da XR runtime, 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.runtime:runtime:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. 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 ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.0
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
- Rimuovi
SessionConfigureConfigureNotSupportede sostituiscilo 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 la scalabilità e rimozione del simbolo dell'operatore per coerenza con altre librerie matematiche. Inoltre, rimuoviamocomponentWiseDivisiondalle classi Vector al posto diVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Aggiungendo [unscaled] per restituire una matrice con una scala di 1. (I6381d, b/434928658)
:xr:runtime:runtime-guavaverrà rimosso perchéCoroutines.ktè stato sostituito daSuspendtoFutureAdapter. (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à
- Aggiungi
HandJointTypeeTrackingState. (I55880, b/334645808) - Rendi pubblica l'implementazione di Config. (I95860, b/334645808)
- Sono stati introdotti nuovi tipi di
SessionCreateResulteSessionConfigureResult. (Icb8cb, b/334645808) - Aggiungi una nuova classe
BoundingBoxche rappresenta un riquadro di selezione allineato all'asse nello spazio 3D, definito dai punti d'angolo minimo e massimo. (Ic68c5, b/423073468)
Modifiche alle API
androidx.xr.scenecore.PixelDimensionsè stato rinominato e spostato inandroidx.xr.runtime.math.IntSize2d.androidx.xr.scenecore.Dimensionsè stato rinominato e spostato inandroidx.xr.runtime.math.FloatSize3d.androidx.xr.scenecore.PlaneTyperinominato inandroidx.xr.scenecore.PlaneOrientation.androidx.xr.scenecore.PlaneSemanticrinominato inandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)- Corso
androidx.xr.runtime.FoVrimosso. Utilizza inveceandroidx.xr.runtime.FieldOfView. (I9ae27) - È stato aggiunto un overload aggiuntivo per
Session.create, che può fornire unLifecycleOwnera cui collegare la sessione. Tieni presente che un'attività dovrà comunque essere fornita per la proprietà della risorsa e cheLifecycleOwnerdeve essere incluso nell'ambito dell'attività. (I1690b) FakeRuntimeAnchor.anchorsCreatedrinominato inanchorsCreatedCount(I96df9, b/424441218)- I valori di configurazione
*Modesono 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 è cambiato daandroidx.xr.runtimeaandroidx.xr.runtime.manifest. (I610ad, b/418800249) Session.resume(),Session.pause()eSession.destroy()sono stati rimossi dalla superficie 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 use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre 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 fare affidamento su:xr:runtime:runtime-guavaper accedere alle API compatibili. (I05d4a, b/426639315) - L'artefatto principale di Runtime (
:xr:runtime:runtime) conterrà solo API asincrone in stile Kotlin. Gli sviluppatori Java possono fare affidamento sulla 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) Session.createeSession.configureora generanoSecurityExceptionquando non sono state concesse autorizzazioni sufficienti anziché restituireSessionCreatePermissionsNotGrantedoSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Versione 1.0.0-alpha04
7 maggio 2025
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 sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Session ora implementa
androidx.lifecycle.LifecycleOwnerper una maggiore interoperabilità con i paradigmi del ciclo di vita di Android esistenti. - Le stringhe 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
SceneCoreche in Runtime anziché nella sessione inSceneCore. - È stato aggiunto
ActivityPose.hitTest, che consente dihitTestcontro i contenuti virtuali. - Ora è supportata la specifica di più implementazioni di Runtime in fase di compilazione. Solo uno verrà caricato in fase di esecuzione in base al set di funzionalità del dispositivo corrente.
- È stato aggiunto il nuovo tipo di componente
SpatialPointerComponent, che consente ai clienti di specificare l'icona visualizzata per il puntatore o di disattivarla. Questo componente può essere collegato attualmente solo aPanelEntityistanze.
Modifiche alle API
- Rendi pubblica l'implementazione di Config. (I95860)
- Aggiungi
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.Session.configureora può essere chiamato con unConfigper configurare le funzionalità di runtime disponibili.Session.createora supporta il passaggio di unCoroutineContextanziché di unCoroutineDispatcher.Session.createsupporta il caricamento diARCoreper Jetpack XR e/oSceneCore. Deve essere fornito almeno un valore (sono disponibili versioni di test).FakePerceptionManagergenera unAnchorInvalidUuidExceptionquando viene passato un UUID non valido aAnchor.loadeAnchor.unpersist.CoreStatenon è più una classificazione dei dati.
Correzioni di bug
- Configurazioni Proguard di runtime fisse.
Versione 1.0.0-alpha03
26 febbraio 2025
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 sono stati rilasciati 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.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 sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Modifiche che provocano errori e comportamentali
- Le funzioni di runtime
OpenXRche restituiscono un ancoraggio ora generanoAnchorResourcesExhaustedExceptionse rilevano un codice di errore che notifica che è stato raggiunto il limite di risorseOpenXR. - L'autorizzazione
android.permission.HAND_TRACKINGè ora obbligatoria perSession.createeSession.resume.
Nuove funzionalità
- Aggiunto il supporto del tracciamento delle mani.
Correzioni di bug
- La creazione di ancore è 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 versione iniziale
Versione iniziale di Jetpack XR Runtime. Questa libreria contiene funzionalità fondamentali 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, che vengono utilizzate in tutta la superficie dell'API Jetpack XR.
Session: ti offre controlli granulari sul sistema XR, inclusa 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 nulla. Le release future aggiungeranno nuove impostazioni che potrai utilizzare per controllare il comportamento diSession.