Runtime XR

Inizia la tua sessione AR o 3D personalizzata con il nostro runtime nativo.
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.

Crea un nuovo problema

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.augmentedObjectCategories da una lista a un set (I25a64, b/487376359)
  • Rimozione del flag unscaledGravityAlignedActivitySpace da Session.create. Ora ActivitySpace è sempre non scalato e allineato alla gravità. (If6f11, b/458173423)
  • Aggiunta del sovraccarico di Session.create per consentire il passaggio di un contesto Android per l'ambito delle risorse. (I7d3fe, b/415805990, b/477386334)
  • Aggiunta di JvmOverloads a FloatSize2d.to3d, Matrix3.copy e Matrix4.copy (I69586, b/481371562)
  • Aggiunta della possibilità di impostare le categorie per il monitoraggio di AugmentedObject nella 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 ConfigMode limitata all'uso interno (Ibfb87)
  • Spostamento di androidx.xr.runtime.Config.GeospatialMode a livello di pacchetto (Ibe682)
  • Spostamento di androidx.xr.runtime.Config.FaceTrackingMode a livello di pacchetto (Iac501)
  • Spostamento di androidx.xr.runtime.Config.AnchorPersistenceMode a livello di pacchetto (I0360f)
  • Spostamento di androidx.xr.runtime.Config.DepthEstimationMode a livello di pacchetto (I7e3e9)
  • Spostamento di androidx.xr.runtime.Config.DeviceTrackingMode a livello di pacchetto (I3aacd)
  • Spostamento di androidx.xr.runtime.Config.HandTrackingMode a livello di pacchetto (I658f3)
  • Spostamento di androidx.xr.runtime.Config.PlaneTrackingMode a livello di pacchetto (Ia251b)
  • Spostamento di androidx.xr.runtime.XrDevice.DisplayBlendMode a livello di pacchetto (I6f333)
  • Aggiunta di un metodo factory per creare un XrDevice utilizzando un contesto, una sessione e un CoroutineContext. (I139c5)
  • Aggiunta di SpatialApiVersionHelper per 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 con ConfigMode.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.create che illustra come evitare di creare una sessione nel thread principale dell'applicazione. (le5554, b/463687170)
  • Impedimento alle applicazioni di creare un BoundingBox con un valore NaN. (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 XrDevice per fornire informazioni sulle funzionalità del dispositivo. (Ic9d1f)
  • Aggiunta della nuova API ConfigMode.isSupported per 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 SessionConfigureConfigureNotSupported e sostituzione con UnsupportedOperationException. (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 da xr:runtime:runtime a xr:arcore:arcore. (Iadb9c, b/409058039)
  • Modifica dell'operatore di moltiplicazione per componentWiseMultiplication per Vector2, Vector3, Vector4 per scalare e rimozione del simbolo dell'operatore per coerenza con altre librerie matematiche. Rimozione anche di componentWiseDivision dalle classi Vector anziché utilizzare Vector.scale(otherVector.inverse()). (I8e1f6, b/399146447)
  • Aggiunta di [unscaled] per restituire una matrice con una scala di uno. (I6381d, b/434928658)
  • :xr:runtime:runtime-guava verrà rimosso perché Coroutines.kt è stato sostituito con SuspendtoFutureAdapter. (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 HandJointType e TrackingState. (I55880, b/334645808)
  • Rendi pubblica l'implementazione di Config. (I95860, b/334645808)
  • Sono stati introdotti i nuovi tipi SessionCreateResult e SessionConfigureResult. (Icb8cb, b/334645808)
  • Aggiunta di una nuova classe BoundingBox che 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.PixelDimensions in androidx.xr.runtime.math.IntSize2d. Rinomina e sposta androidx.xr.scenecore.Dimensions in androidx.xr.runtime.math.FloatSize3d. Rinomina androidx.xr.scenecore.PlaneType in androidx.xr.scenecore.PlaneOrientation. Rinomina androidx.xr.scenecore.PlaneSemantic in androidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)
  • Rimozione della classe androidx.xr.runtime.FoV. Utilizza invece androidx.xr.runtime.FieldOfView. (I9ae27)
  • Aggiunta di un sovraccarico aggiuntivo per Session.create che può fornire un LifecycleOwner a cui collegare la sessione. Tieni presente che sarà comunque necessario fornire un'attività per la proprietà delle risorse e che LifecycleOwner deve essere incluso nell'ambito dell'attività. (I1690b)
  • Rinomina di FakeRuntimeAnchor.anchorsCreated in anchorsCreatedCount (I96df9, b/424441218)
  • I valori *Mode di 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:runtime a :xr:runtime:runtime-manifest. Il nome del pacchetto è stato modificato da androidx.xr.runtime a androidx.xr.runtime.manifest. (I610ad, b/418800249)
  • Session.resume(), Session.pause() e Session.destroy() sono stati rimossi dalla superficie dell'API. La sessione non è più un LifecycleOwner. Il ciclo di vita della sessione verrà ora collegato al ciclo di vita dell'attività passata in Session.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-guava per 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 libreria xr:runtime:runtime-rxjava3 per accedere alle API compatibili. (I64122, b/426639775)
  • Sposta le coroutine in :xr:runtime:runtime-guava e i flussi in :xr:runtime:runtime-rxjava3. (I60ae9)
  • Ora Session.create e Session.configure generano SecurityException quando non sono state concesse autorizzazioni sufficienti anziché restituire SessionCreatePermissionsNotGranted o SessionConfigurePermissionsNotGranted. (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.LifecycleOwner per 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 SceneCore sia in Runtime anziché nella sessione in SceneCore.
  • È stato aggiunto ActivityPose.hitTest, che consente di eseguire un hitTest sui 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 istanze PanelEntity.

Modifiche alle API

  • Rendi pubblica l'implementazione di Config. (I95860)
  • Aggiunta di HandJointType e TrackingState. (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 in Hand.trackingState. L'implementazione di OpenXR è stata modificata di conseguenza.
  • Il requisito di autorizzazione android.permission.SCENE_UNDERSTANDING in Session.configure è stato modificato in android.permission.SCENE_UNDERSTANDING_COARSE.
  • LifecycleManager.configure è implementato e ora passa un oggetto Config che contiene una proprietà per ogni funzionalità di runtime configurabile.
  • Ora è possibile chiamare Session.configure con un Config per configurare le funzionalità di runtime disponibili.
  • Ora Session.create supporta il passaggio di un CoroutineContext anziché di un CoroutineDispatcher.
  • Session.create supporta il caricamento di ARCore per Jetpack XR e/o SceneCore. È necessario fornirne almeno uno (sono disponibili versioni di test).
  • FakePerceptionManager genera un AnchorInvalidUuidException quando viene passato un UUID non valido a Anchor.load e Anchor.unpersist.
  • CoreState non è 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 OpenXR che restituiscono un ancoraggio ora generano AnchorResourcesExhaustedException se rilevano un codice di errore che indica che è stato raggiunto il limite di risorse OpenXR.
  • Ora è richiesta l'autorizzazione android.permission.HAND_TRACKING per Session.create e Session.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 di Session.