XR Runtime
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.
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
eTrackingState
. (I55880, b/334645808) - Rendi pubblica l'implementazione di Config. (I95860, b/334645808)
- Sono stati introdotti nuovi tipi di
SessionCreateResult
eSessionConfigureResult
. (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 inandroidx.xr.runtime.math.IntSize2d
.androidx.xr.scenecore.Dimensions
è stato rinominato e spostato inandroidx.xr.runtime.math.FloatSize3d
.androidx.xr.scenecore.PlaneType
rinominato inandroidx.xr.scenecore.PlaneOrientation
.androidx.xr.scenecore.PlaneSemantic
rinominato inandroidx.xr.scenecore.PlaneSemanticType
. (Ifd405, b/416456228)- Corso
androidx.xr.runtime.FoV
rimosso. Utilizza inveceandroidx.xr.runtime.FieldOfView
. (I9ae27) - È stato aggiunto un overload aggiuntivo per
Session.create
che può fornire unLifecycleOwner
a cui collegare la sessione. Tieni presente che un'attività dovrà comunque essere fornita per la proprietà della risorsa e cheLifecycleOwner
deve essere incluso nell'ambito dell'attività. (I1690b) FakeRuntimeAnchor.anchorsCreated
rinominato inanchorsCreatedCount
(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 daandroidx.xr.runtime
aandroidx.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à trasmessa 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 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 libreriaxr: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
eSession.configure
ora generanoSecurityException
quando non sono state concesse autorizzazioni sufficienti anziché restituireSessionCreatePermissionsNotGranted
oSessionConfigurePermissionsNotGranted
. (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 inSceneCore
. - È stato aggiunto
ActivityPose.hitTest
, che consente dihitTest
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 aPanelEntity
istanze.
Modifiche alle API
- Rendi pubblica l'implementazione di Config. (I95860)
- Aggiungi
HandJointType
eTrackingState
. (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_UNDERSTANDING
inSession.configure
è stato modificato inandroid.permission.SCENE_UNDERSTANDING_COARSE
. LifecycleManager.configure
è implementato e ora passa un oggettoConfig
che contiene una proprietà per ogni funzionalità di runtime configurabile.Session.configure
ora può essere chiamato con unConfig
per configurare le funzionalità di runtime disponibili.Session.create
ora supporta il passaggio di unCoroutineContext
anziché di unCoroutineDispatcher
.Session.create
supporta il caricamento diARCore
per Jetpack XR e/oSceneCore
. Deve essere fornito almeno un valore (sono disponibili versioni di test).FakePerceptionManager
genera unAnchorInvalidUuidException
quando viene passato un UUID non valido aAnchor.load
eAnchor.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 generanoAnchorResourcesExhaustedException
se rilevano un codice di errore che notifica che è stato raggiunto il limite di risorseOpenXR
. - L'autorizzazione
android.permission.HAND_TRACKING
è ora obbligatoria perSession.create
eSession.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 diSession
.