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 |
|---|---|---|---|---|
| 6 mai 2026 | - | - | - | 1.0.0-alpha13 |
Déclarer des dépendances
Pour ajouter une dépendance à l'environnement d'exécution XR, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez le 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-alpha13" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha13") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha13") }
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-alpha13
6 mai 2026
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha13. Liste des commits de la version 1.0.0-alpha13 these commits.
Modifications apportées à l'API
TrackingStateetVpsAvailabilityResultont été déplacés vers leandroidx.xr.arcore package, et les types dansandroidx.xr.runtimesont désormais obsolètes. (Ic7930, b/480462213)Session.getNativeData()est désormais défini dans le modulexr:runtime:runtimeet fournit [nativeFunctionTablePointer] pour les environnements d'exécution compatibles avec OpenXR. (Ifa862)- Déplacement de l'API
NativeDatavers la bibliothèquexr:runtime:runtime. (I87954, b/494251500) Session.createetSession.configurene sont plus exhaustifs et nécessitent des clauses else dans les instructions when. (I9885e, b/495805998, b/495805998)androidx.xr.runtime.FieldOfViewest maintenant obsolète. Utilisezandroidx.xr.runtime.math.FieldOfViewà la place. (Ia01a0, b/480233045)Matrix4.posea été renomméMatrix4.toPose(). La propriété pose est désormais obsolète. (I329b4, b/493383490)- Ajout de l'API
XrServiceAvailability(If379e, b/493558010) - Ajout de l'annotation
ExperimentalXrServiceAvailabilityApi(Icab49, b/491069725) - Suppression du suffixe pour
@PreviewSpatialApi(If5242, b/491939311) - Remplacement de
DeviceTrackingMode.LAST_KNOWNparSPATIAL_LAST_KNOWN(avec un remplacement obsolète), ajout deINERTIAL_LAST_KNOWNpour le suivi 3DoF et ajout deTRACKING_DEGRADEDàTrackingState. (Ie661c, b/445466590) - Ajout de l'API
XrLog. DéfinissezXrLog.isEnabledsurtruepour activer la journalisation dans JetpackXR, puis utilisez [XrLog.Level] pour définir le niveau de journalisation. (I76a1f, b/463460895, b/487378441) - Ajout de
DISPLAY_CATEGORY_XR_PROJECTED. Cette constante est utilisée dans le fichier manifeste pour indiquer que l'activité est destinée à un écran projeté XR (I26d8b).
Version 1.0.0-alpha12
25 mars 2026
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12 .
Modifications apportées à l'API
- Modification de
Config.augmentedObjectCategoriesd'une liste à un ensemble (I25a64, b/487376359) - Suppression de l'indicateur
unscaledGravityAlignedActivitySpacedeSession.create.ActivitySpaceest désormais toujours non mis à l'échelle et aligné sur la gravité. (If6f11, b/458173423) - Ajout d'une surcharge
Session.createpour autoriser la transmission d'un contexte Android pour la délimitation des ressources. (I7d3fe, b/415805990, b/477386334) - Ajout de
JvmOverloadsàFloatSize2d.to3d,Matrix3.copyetMatrix4.copy(I69586, b/481371562) - Possibilité de définir des catégories pour le suivi
AugmentedObjectdans la configuration (I1f6e4, b/480220930) - Ajout du module
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
Version 1.0.0-alpha11
25 février 2026
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11 .
Modifications apportées à l'API
- Restriction de l'interface
ConfigModeà un usage interne (Ibfb87) - Déplacement de
androidx.xr.runtime.Config.GeospatialModeau niveau du package (Ibe682) - Déplacement de
androidx.xr.runtime.Config.FaceTrackingModeau niveau du package (Iac501) - Déplacement de
androidx.xr.runtime.Config.AnchorPersistenceModeau niveau du package (I0360f) - Déplacement de
androidx.xr.runtime.Config.DepthEstimationModeau niveau du package (I7e3e9) - Déplacement de
androidx.xr.runtime.Config.DeviceTrackingModeau niveau du package (I3aacd) - Déplacement de
androidx.xr.runtime.Config.HandTrackingModeau niveau du package (I658f3) - Déplacement de
androidx.xr.runtime.Config.PlaneTrackingModeau niveau du package (Ia251b) - Déplacement de
androidx.xr.runtime.XrDevice.DisplayBlendModeau niveau du package (I6f333) - Ajout d'une méthode de fabrique pour créer un
XrDeviceà l'aide d'un contexte, d'une session et d'unCoroutineContext. (I139c5) - Ajout de
SpatialApiVersionHelperpour faciliter l'interrogation de la version d'Android XR disponible sur la plate-forme. (I7c53c) - Ajout du
xr:runtime:runtime-openxrmodule (Ib42ea)
Version 1.0.0-alpha10
28 janvier 2026
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10
Modifications apportées à l'API
ConfigMode.HeadTrackingModeest remplacé parConfigMode.DeviceTrackingMode. (le273e, b/467150206)- Suppression des méthodes
toNormalized,times(float)etdiv(float)de Quaternion. Ces méthodes sont redondantes, car tous les Quaternions sont normalisés au moment de la construction et la classe est immuable. (l558fc, b/460210457)
Correction de bugs
- Ajout d'une documentation à
Session.createqui explique comment éviter de créer une session sur le thread principal de l'application. (le5554, b/463687170) - Empêche les applications de créer un
BoundingBoxavec une valeurNaN. (l58c14, b/464025895)
Version 1.0.0-alpha09
3 décembre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09 : ces commits.
Version 1.0.0-alpha08
19 novembre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08
Nouvelles fonctionnalités
- Ajout de
XrDevicepour fournir des informations sur les fonctionnalités de l'appareil. (Ic9d1f) - Ajout d'une nouvelle API
ConfigMode.isSupportedpour interroger les fonctionnalités de la session. (Iff7af) - Ajout de l'API
XrDisplay.BlendMode. (I484e4)
Modifications apportées à l'API
- Remplacement du nom [XrDevice.getPreferredBlendMode] par [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
Version 1.0.0-alpha07
22 octobre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07
Modifications apportées à l'API
- Suppression de
SessionConfigureConfigureNotSupportedet remplacement parUnsupportedOperationException. (I7680f)
Version 1.0.0-alpha06
24 septembre 2025
Publication d'androidx.xr.runtime:runtime-*:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06
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
componentWiseMultiplicationpourVector2,Vector3etVector4afin de mettre à l'échelle et de supprimer le 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) - Ajout de [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. Liste des commits de la version 1.0.0-alpha05.
Nouvelles fonctionnalités
- Ajout de
HandJointTypeetTrackingState. (I55880, b/334645808) - Rendre publique l'implémentation de la configuration. (I95860, b/334645808)
- Introduction de nouveaux types
SessionCreateResultetSessionConfigureResult. (Icb8cb, b/334645808) - Ajout d'une nouvelle classe
BoundingBoxqui représente un cadre de délimitation aligné sur les axes dans un espace 3D, défini par ses points d'angle minimal et maximal. (Ic68c5, b/423073468)
Modifications apportées à l'API
- Renommage et déplacement de
androidx.xr.scenecore.PixelDimensionsversandroidx.xr.runtime.math.IntSize2d. Renommage et déplacement deandroidx.xr.scenecore.Dimensionsversandroidx.xr.runtime.math.FloatSize3d. Remplacement du nomandroidx.xr.scenecore.PlaneTypeparandroidx.xr.scenecore.PlaneOrientation. Remplacement du nomandroidx.xr.scenecore.PlaneSemanticparandroidx.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 supplémentaire pour
Session.create, qui peut fournir unLifecycleOwnerauquel la session peut être associée. Notez qu'une activité devra toujours être fournie pour la propriété de la ressource et que leLifecycleOwnerdoit être délimité dans l'activité. (I1690b) - Remplacement du nom
FakeRuntimeAnchor.anchorsCreatedparanchorsCreatedCount(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 l'utilisation de KGP 2.0.0 ou version ultérieure (Idb6b5, b/344563182)
- Les API liées aux chaînes de caractères du 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é au cycle de vie de l'activité transmise dansSession.create(). (I28a03)- Cette bibliothèque utilise désormais des annotations de possibilité de valeur nulle JSpecify, qui sont de type "use". Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour appliquer 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 d'environnement d'exécution principal (
:xr:runtime:runtime) ne contiendra que des API asynchrones de style Kolin. Les développeurs Java peuvent dépendre de:xr:runtime:runtime-guavapour accéder aux API compatibles. (I05d4a, b/426639315) - L'artefact d'environnement d'exécution principal (
:xr:runtime:runtime) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent dépendre de la bibliothèquexr:runtime:runtime-rxjava3pour accéder aux API compatibles. (I64122, b/426639775) - Déplacement des coroutines vers
:xr:runtime:runtime-guavaet des flux vers:xr:runtime:runtime-rxjava3. (I60ae9) Session.createetSession.configuregénèrent désormaisSecurityExceptionlorsque des 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. Liste des commits de la version 1.0.0-alpha04 .
Nouvelles fonctionnalités
- La 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 caractères du fichier manifeste pour Android XR sont spécifiées et documentées ici.
- Ajout de méthodes d'extension de rappel de visibilité spatiale pour surveiller le moment où le contenu de la scène se déplace à l'intérieur ou à l'extérieur du champ de vision de l'utilisateur.
- Ajout d'une version stub de
JxrPlatformAdapter(et de toutes ses classes associées). - La session sera utilisée à la fois dans
SceneCoreet dans l'environnement d'exécution au lieu de la session dansSceneCore. ActivityPose.hitTesta été ajouté, ce qui permet d'effectuer unhitTestsur le contenu virtuel.- La spécification de plusieurs implémentations d'environnement d'exécution au temps de compilation est désormais prise en charge. Une seule sera chargée au moment de l'exécution en fonction de l'ensemble de caractéristiques de l'appareil actuel.
- Ajout du nouveau type de composant
SpatialPointerComponent, qui permet 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'aux instancesPanelEntity.
Modifications apportées à l'API
- Rendre publique l'implémentation de la configuration. (I95860)
- Ajout de
HandJointTypeetTrackingState. (I55880) - Les projets publiés avec Kotlin 2.0 nécessitent l'utilisation de KGP 2.0.0 ou version ultérieure (Idb6b5)
Hand.isActive (boolean)a été remplacé parHand.trackingState. L'implémentationOpenXRa été modifiée en conséquence.- L'exigence d'autorisation
android.permission.SCENE_UNDERSTANDINGdansSession.configurea été remplacée parandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configureest implémenté et transmet désormais un objetConfigqui contient une propriété pour chaque fonctionnalité d'environnement d'exécution configurable.Session.configurepeut désormais être appelé avec uneConfigafin de configurer les fonctionnalités d'environnement d'exécution disponibles.Session.createaccepte désormais la transmission d'unCoroutineContextau lieu d'unCoroutineDispatcher.Session.createest compatible avec le chargement d'ARCorepour 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
- Correction des configurations ProGuard de l'environnement d'exécution.
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 depuis la dernière version alpha. Liste des commits de la version 1.0.0-alpha03 these 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. Liste des commits de la version 1.0.0-alpha02 these commits.
Modifications destructives et comportementales
- Les fonctions d'environnement 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 prise en charge du suivi des mains.
Corrections de bugs
- La création d'ancres est plus stable lors de l'exécution 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 fonctionnalités, la gestion du cycle de vie, la configuration, etc. La bibliothèque Runtime fournit différentes variantes (par exemple, runtime-openxr ou runtime-testing) en fonction de la plate-forme d'exécution. En outre, cette bibliothèque offre 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 des contrôles précis sur le système XR, y compris pour décider quand le traitement est exécuté et quand il ne l'est pas, ainsi que sur la configuration globale. Il s'agit également du handle que vous utiliserez dans toutes les autres API pour déverrouiller les fonctionnalités du système sous-jacent.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 futures versions ajouteront de nouveaux paramètres que vous pourrez utiliser pour contrôler le comportement de laSession.