Runtime XR

Avvia la sessione AR o 3D personalizzata con il nostro runtime nativo.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
7 maggio 2025 - - - 1.0.0-alpha04

Dichiarazione delle dipendenze

Per aggiungere una dipendenza al runtime XR, devi aggiungere il repository Maven di Google al progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi necessari nel file build.gradle per la tua app o il tuo modulo:

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

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

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

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Tracker dei problemi.

Versione 1.0

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 vengono rilasciati. 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 di ciclo di vita di Android esistenti.
  • Le stringhe manifest per Android XR sono specificate e documentate qui.
  • Metodi di estensione di callback di visibilità spaziale aggiunti 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 relative classi).
  • La sessione verrà utilizzata sia in SceneCore che in Runtime anziché nella sessione in SceneCore.
  • È stato aggiunto ActivityPose.hitTest, che consente di segnalare i contenuti virtuali.hitTest
  • Ora è supportata la specifica di più implementazioni di runtime in fase di compilazione. Ne verrà caricato uno solo al momento dell'esecuzione in base al set di funzionalità del dispositivo corrente.
  • È stato aggiunto il nuovo tipo di componente SpatialPointerComponent, che consente ai client di specificare l'icona visualizzata per il cursore o di disattivarla. Al momento questo componente può essere collegato solo a istanze PanelEntity.

Modifiche all'API

  • Rendi pubblica l'implementazione di Config. (I95860)
  • Aggiungi HandJointType e TrackingState. (I55880)
  • I progetti rilasciati con Kotlin 2.0 richiedono KGP 2.0.0 o versioni successive per essere utilizzati (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 contenente una proprietà per ogni funzionalità di runtime configurabile.
  • Ora Session.configure 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. È necessario specificare almeno una (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

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 dall'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 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche che comportano interruzioni e modifiche del comportamento

  • Le funzioni di runtime OpenXR che restituiscono un'ancora ora generano un AnchorResourcesExhaustedException se rilevano un codice di errore che indica che è stato raggiunto il limite di risorse OpenXR.
  • L'autorizzazione android.permission.HAND_TRACKING è ora obbligatoria per Session.create e Session.resume.

Nuove funzionalità

  • È stato aggiunto il supporto del rilevamento 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 rilasciato.

Funzionalità della versione iniziale

Versione iniziale di Jetpack XR Runtime. Questa libreria contiene componenti fondamentali della suite di librerie Jetpack XR. Sono inclusi il rilevamento delle funzionalità, la gestione del ciclo di vita, la configurazione e altro ancora. La libreria di 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 nell'intera API Jetpack XR.

  • Session: fornisce controlli granulari sul sistema XR, inclusa la possibilità di decidere quando viene eseguita e non l'elaborazione e la configurazione complessiva. È 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 posizione e orientamento. Utilizzerai questa classe per comunicare la posizione degli oggetti con ARCore per Jetpack XR e Jetpack SceneCore.

Problemi noti

  • Al momento configure non esegue alcuna operazione. Le release future aggiungeranno nuove impostazioni che potrai utilizzare per controllare il comportamento di Session.