XR Runtime

Avvia la sessione AR o 3D personalizzata con il nostro runtime nativo.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Alpha Release
30 luglio 2025 - - - 1.0.0-alpha05

Dichiarazione di dipendenze

Per aggiungere una dipendenza dall'ambiente di 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 che ti servono nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha05"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha05")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05")
}

Per ulteriori informazioni 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 libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.0

Versione 1.0.0-alpha05

30 luglio 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha05 viene ritirata. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Aggiungi HandJointType e TrackingState. (I55880, b/334645808)
  • Rendi pubblica l'implementazione di Config. (I95860, b/334645808)
  • Sono stati introdotti nuovi tipi di SessionCreateResult e SessionConfigureResult. (Icb8cb, b/334645808)
  • Aggiungi una nuova classe BoundingBox che 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 in androidx.xr.runtime.math.IntSize2d. androidx.xr.scenecore.Dimensions è stato rinominato e spostato in androidx.xr.runtime.math.FloatSize3d. androidx.xr.scenecore.PlaneType rinominato in androidx.xr.scenecore.PlaneOrientation. androidx.xr.scenecore.PlaneSemantic rinominato in androidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)
  • Corso androidx.xr.runtime.FoV rimosso. Utilizza invece androidx.xr.runtime.FieldOfView. (I9ae27)
  • È stato aggiunto un overload aggiuntivo per Session.create che può fornire un LifecycleOwner a cui collegare la sessione. Tieni presente che un'attività dovrà comunque essere fornita per la proprietà della risorsa e che LifecycleOwner deve essere incluso nell'ambito dell'attività. (I1690b)
  • FakeRuntimeAnchor.anchorsCreated rinominato in anchorsCreatedCount (I96df9, b/424441218)
  • I valori di Config *Mode 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 è cambiato da androidx.xr.runtime a androidx.xr.runtime.manifest. (I610ad, b/418800249)
  • Session.resume(), Session.pause() e Session.destroy() sono stati rimossi dalla superficie API. La sessione non è più un LifecycleOwner. Il ciclo di vita della sessione verrà ora collegato al ciclo di vita dell'attività trasmessa in Session.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 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 fare affidamento su :xr:runtime:runtime-guava per 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 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)
  • Session.create e Session.configure ora 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

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 rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Ora Session implementa androidx.lifecycle.LifecycleOwner per 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 SceneCore che in Runtime anziché nella sessione in SceneCore.
  • È stato aggiunto ActivityPose.hitTest, che consente di hitTest contro i contenuti virtuali.
  • Ora è supportata la specifica di più implementazioni di runtime in fase di compilazione. Solo uno verrà caricato al momento dell'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 a PanelEntity istanze.

Modifiche alle API

  • Rendi pubblica l'implementazione di Config. (I95860)
  • Aggiungi 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.
  • Session.configure ora può essere chiamato con un Config per configurare le funzionalità di runtime disponibili.
  • Session.create ora supporta il passaggio di un CoroutineContext anziché di un CoroutineDispatcher.
  • Session.create supporta il caricamento di ARCore per Jetpack XR e/o SceneCore. Deve essere fornito almeno un valore (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 classificazione dei dati.

Correzioni di bug

  • Configurazioni di 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 vengono 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 rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche che provocano un errore e comportamentali

  • Le funzioni di runtime OpenXR che restituiscono un ancoraggio ora generano AnchorResourcesExhaustedException se rilevano un codice di errore che notifica che è stato raggiunto il limite di risorse OpenXR.
  • L'autorizzazione android.permission.HAND_TRACKING è ora obbligatoria per Session.create e Session.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 viene ritirata.

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 quando no, nonché 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 versioni future aggiungeranno nuove impostazioni che potrai utilizzare per controllare il comportamento di Session.