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 |
|---|---|---|---|---|
| 22 octobre 2025 | - | - | - | 1.0.0-alpha07 |
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-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
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-alpha07
22 octobre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha07. La version 1.0.0-alpha07 contient ces commits.
Modifications apportées à l'API
- Supprimez
SessionConfigureConfigureNotSupportedet remplacez-le parUnsupportedOperationException. (I7680f)
Version 1.0.0-alpha06
24 septembre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha06. La version 1.0.0-alpha06 contient ces commits.
Modifications apportées à l'API
HandJointTypea été déplacé dexr:runtime:runtimeversxr:arcore:arcore. (Iadb9c, b/409058039)- Modification de l'opérateur de multiplication pour
componentWiseMultiplicationenVector2,Vector3etVector4pour la mise à l'échelle et suppression du symbole de l'opérateur pour assurer la cohérence avec les autres bibliothèques mathématiques. Suppression également decomponentWiseDivisiondes classes Vector au lieu d'utiliserVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Ajoutez [unscaled] pour renvoyer une matrice avec une échelle de 1. (I6381d, b/434928658)
:xr:runtime:runtime-guavasera supprimé, carCoroutines.kta été remplacé parSuspendtoFutureAdapter. (I0cd3c, b/406597902)
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
HandJointTypeetTrackingState. (I55880, b/334645808) - Rendez l'implémentation de la configuration publique. (I95860, b/334645808)
- Ajout de nouveaux types
SessionCreateResultetSessionConfigureResult. (Icb8cb, b/334645808) - Ajoutez une classe
BoundingBoxqui 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.PixelDimensionsa été renomméandroidx.xr.runtime.math.IntSize2det déplacé.androidx.xr.scenecore.Dimensionsa été renomméandroidx.xr.runtime.math.FloatSize3det déplacé.androidx.xr.scenecore.PlaneTypea été renomméandroidx.xr.scenecore.PlaneOrientation.androidx.xr.scenecore.PlaneSemantica é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 unLifecycleOwnerauquel la session doit être associée. Notez qu'une activité devra toujours être fournie pour la propriété des ressources et queLifecycleOwnerdevra être limité à l'activité. (I1690b) - Changement de nom :
FakeRuntimeAnchor.anchorsCreateddevientanchorsCreatedCount. (I96df9, b/424441218) - Les valeurs de configuration
*Modeont é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:runtimevers: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 unLifecycleOwner. 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-guavapour 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-rxjava3pour accéder aux API compatibles. (I64122, b/426639775) - Déplacez les coroutines vers
:xr:runtime:runtime-guavaet les flux vers:xr:runtime:runtime-rxjava3. (I60ae9) Session.createetSession.configuregénèrent désormais uneSecurityExceptionlorsque les autorisations suffisantes n'ont pas été accordées, au lieu de renvoyerSessionCreatePermissionsNotGrantedouSessionConfigurePermissionsNotGranted. (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
- Session implémente désormais
androidx.lifecycle.LifecycleOwnerpour 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
SceneCoreet dans l'exécution au lieu de la session dansSceneCore. ActivityPose.hitTesta été ajouté, ce qui permet dehitTestle contenu virtuel.- Il est désormais possible de spécifier plusieurs implémentations de Runtime 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
HandJointTypeetTrackingState. (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 deOpenXRa été modifiée en conséquence.- L'autorisation
android.permission.SCENE_UNDERSTANDINGrequise dansSession.configureest désormaisandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configureest implémenté et transmet désormais un objetConfigqui contient une propriété pour chaque fonctionnalité d'exécution configurable.Session.configurepeut désormais être appelé avec unConfigafin de configurer les fonctionnalités d'exécution disponibles.Session.createaccepte désormais le transfert d'unCoroutineContextau lieu d'unCoroutineDispatcher.Session.createest compatible avec le chargement deARCorepour Jetpack XR et/ouSceneCore. Au moins un doit être fourni (des versions de test sont disponibles).FakePerceptionManagergénère uneAnchorInvalidUuidExceptionlorsqu'un UUID non valide est transmis àAnchor.loadetAnchor.unpersist.CoreStaten'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
OpenXRqui renvoient une ancre génèrent désormaisAnchorResourcesExhaustedExceptionsi elles rencontrent un code d'erreur indiquant que la limite de ressourcesOpenXRa été atteinte. - L'autorisation
android.permission.HAND_TRACKINGest désormais requise pourSession.createetSession.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
configureest actuellement une opération sans effet. Les prochaines versions ajouteront de nouveaux paramètres que vous pourrez utiliser pour contrôler le comportement deSession.