Environnement d'exécution XR
androidx.xr.runtime
androidx.xr.runtime.java
androidx.xr.runtime.math
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
30 juillet 2025 | - | - | - | 1.0.0-alpha05 |
Déclarer des dépendances
Pour ajouter une dépendance sur le runtime XR, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
Groovy
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") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.0
Version 1.0.0-alpha05
30 juillet 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha05
. La version 1.0.0-alpha05 contient ces commits.
Nouvelles fonctionnalités
- Ajoutez
HandJointType
etTrackingState
. (I55880, b/334645808) - Rendez l'implémentation de la configuration publique. (I95860, b/334645808)
- Ajout de nouveaux types
SessionCreateResult
etSessionConfigureResult
. (Icb8cb, b/334645808) - Ajoutez une classe
BoundingBox
qui représente une boîte englobante alignée sur les axes dans l'espace 3D, définie par ses points d'angle minimum et maximum. (Ic68c5, b/423073468)
Modifications apportées à l'API
androidx.xr.scenecore.PixelDimensions
a été renomméandroidx.xr.runtime.math.IntSize2d
et déplacé.androidx.xr.scenecore.Dimensions
a été renomméandroidx.xr.runtime.math.FloatSize3d
et déplacé.androidx.xr.scenecore.PlaneType
a été renomméandroidx.xr.scenecore.PlaneOrientation
.androidx.xr.scenecore.PlaneSemantic
a été renomméandroidx.xr.scenecore.PlaneSemanticType
. (Ifd405, b/416456228)- Suppression de la classe
androidx.xr.runtime.FoV
. Utilisezandroidx.xr.runtime.FieldOfView
à la place. (I9ae27) - Ajout d'une surcharge pour
Session.create
, qui peut fournir unLifecycleOwner
auquel la session doit être associée. Notez qu'une activité devra toujours être fournie pour la propriété des ressources et queLifecycleOwner
doit être limité à l'activité. (I1690b) - Changement de nom :
FakeRuntimeAnchor.anchorsCreated
devientanchorsCreatedCount
. (I96df9, b/424441218) - Les valeurs de configuration
*Mode
ont été renommées pour refléter leur comportement. (I6d247, b/414648065) - Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou version ultérieure pour être utilisés (Idb6b5, b/344563182).
- Les API liées aux chaînes de fichier manifeste ont été déplacées de
:xr:runtime:runtime
vers:xr:runtime:runtime-manifest
. Le nom du package est passé deandroidx.xr.runtime
àandroidx.xr.runtime.manifest
. (I610ad, b/418800249) Session.resume()
,Session.pause()
etSession.destroy()
ont été supprimés de la surface de l'API. La session n'est plus uneLifecycleOwner
. Le cycle de vie de la session sera désormais associé à celui de l'activité transmise dansSession.create()
. (I28a03)- Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont de type "type-use". Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour garantir une utilisation correcte :
-Xjspecify-annotations=strict
(il s'agit de la valeur par défaut à partir de la version 2.1.0 du compilateur Kotlin) (Ia8420, b/326456246). - L'artefact Runtime principal (
:xr:runtime:runtime
) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent s'appuyer sur:xr:runtime:runtime-guava
pour accéder aux API compatibles. (I05d4a, b/426639315) - L'artefact Runtime principal (
:xr:runtime:runtime
) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent s'appuyer sur la bibliothèquexr:runtime:runtime-rxjava3
pour accéder aux API compatibles. (I64122, b/426639775) - Déplacez les coroutines vers
:xr:runtime:runtime-guava
et les flux vers:xr:runtime:runtime-rxjava3
. (I60ae9) Session.create
etSession.configure
génèrent désormais uneSecurityException
lorsque les autorisations suffisantes n'ont pas été accordées, au lieu de renvoyerSessionCreatePermissionsNotGranted
ouSessionConfigurePermissionsNotGranted
. (I7c488, b/430651879)
Version 1.0.0-alpha04
7 mai 2025
Publication d'androidx.xr.runtime:runtime:1.0.0-alpha04
, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04
et androidx.xr.runtime:runtime-testing:1.0.0-alpha04
. La version 1.0.0-alpha04 contient ces commits.
Nouvelles fonctionnalités
- La session implémente désormais
androidx.lifecycle.LifecycleOwner
pour une meilleure interopérabilité avec les paradigmes de cycle de vie Android existants. - Les chaînes de fichier manifeste pour Android XR sont spécifiées et documentées ici.
- Des méthodes d'extension de rappel de visibilité spatiale ont été ajoutées pour surveiller le déplacement du contenu de la scène à l'intérieur ou à l'extérieur du champ de vision de l'utilisateur.
- Ajout d'une version stub de
JxrPlatformAdapter
(et de toutes les classes associées). - La session sera utilisée à la fois dans
SceneCore
et dans le runtime au lieu de la session dansSceneCore
. ActivityPose.hitTest
a été ajouté, ce qui permet dehitTest
le contenu virtuel.- Il est désormais possible de spécifier plusieurs implémentations de l'environnement d'exécution au moment de la compilation. Un seul sera chargé au moment de l'exécution, en fonction de l'ensemble des fonctionnalités de l'appareil actuel.
- Ajout du nouveau type de composant
SpatialPointerComponent
, permettant aux clients de spécifier l'icône affichée pour le pointeur ou de la désactiver. Ce composant ne peut actuellement être associé qu'à des instancesPanelEntity
.
Modifications apportées à l'API
- Rendez l'implémentation de la configuration publique. (I95860)
- Ajoutez
HandJointType
etTrackingState
. (I55880) - Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou version ultérieure pour être utilisés (Idb6b5).
Hand.isActive (boolean)
a été remplacé parHand.trackingState
. L'implémentation deOpenXR
a été modifiée en conséquence.- L'autorisation
android.permission.SCENE_UNDERSTANDING
requise dansSession.configure
est désormaisandroid.permission.SCENE_UNDERSTANDING_COARSE
. LifecycleManager.configure
est implémenté et transmet désormais un objetConfig
qui contient une propriété pour chaque fonctionnalité d'exécution configurable.Session.configure
peut désormais être appelé avec unConfig
afin de configurer les fonctionnalités d'exécution disponibles.Session.create
accepte désormais le transfert d'unCoroutineContext
au lieu d'unCoroutineDispatcher
.Session.create
est compatible avec le chargement deARCore
pour Jetpack XR et/ouSceneCore
. Au moins un doit être fourni (des versions de test sont disponibles).FakePerceptionManager
génère uneAnchorInvalidUuidException
lorsqu'un UUID non valide est transmis àAnchor.load
etAnchor.unpersist
.CoreState
n'est plus une classe de données.
Correction de bugs
- Configurations ProGuard de l'environnement d'exécution corrigées.
Version 1.0.0-alpha03
26 février 2025
Publication d'androidx.xr.runtime:runtime:1.0.0-alpha03
, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03
et androidx.xr.runtime:runtime-testing:1.0.0-alpha03
sans modification notable par rapport à la dernière version alpha. La version 1.0.0-alpha03 contient ces commits.
Version 1.0.0-alpha02
12 février 2025
Publication d'androidx.xr.runtime:runtime:1.0.0-alpha02
, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02
et androidx.xr.runtime:runtime-testing:1.0.0-alpha02
. La version 1.0.0-alpha02 contient ces commits.
Modifications destructives et de comportement
- Les fonctions d'exécution
OpenXR
qui renvoient une ancre génèrent désormaisAnchorResourcesExhaustedException
si elles rencontrent un code d'erreur indiquant que la limite de ressourcesOpenXR
a été atteinte. - L'autorisation
android.permission.HAND_TRACKING
est désormais requise pourSession.create
etSession.resume
.
Nouvelles fonctionnalités
- Ajout de la compatibilité avec le suivi des mains.
Corrections de bugs
- La création d'ancres est plus stable lorsqu'elle est exécutée sur un émulateur.
Version 1.0.0-alpha01
12 décembre 2024
Publication d'androidx.xr.runtime:runtime-* 1.0.0-alpha01
.
Fonctionnalités de la version initiale
Version initiale de Jetpack XR Runtime. Cette bibliothèque contient des éléments de fonctionnalité fondamentaux pour la suite de bibliothèques Jetpack XR. Cela inclut la découverte des capacités, la gestion du cycle de vie, la configuration, etc. La bibliothèque d'exécution fournit différentes variantes (par exemple, runtime-openxr
ou runtime-testing
) en fonction de la plate-forme d'exécution. De plus, cette bibliothèque propose des abstractions mathématiques fondamentales telles que Vector3
et Matrix4
, qui sont utilisées sur l'ensemble de la surface de l'API Jetpack XR.
Session
: vous offre un contrôle précis sur le système XR, y compris pour déterminer quand le traitement est exécuté et la configuration globale. Il s'agit également du handle que vous utiliserez dans toutes les autres API pour déverrouiller les fonctionnalités système sous-jacentes.Pose
: emplacement dans un système de coordonnées arbitraire auquel sont associés une position et une orientation. Vous utiliserez cette classe pour communiquer l'emplacement des objets avec ARCore pour Jetpack XR et Jetpack SceneCore.
Problèmes connus
configure
est actuellement une opération sans effet. Les prochaines versions ajouteront de nouveaux paramètres que vous pourrez utiliser pour contrôler le comportement deSession
.