XR Runtime

Démarrez votre session RA ou 3D personnalisée avec notre environnement d'exécution natif.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
7 mai 2025 - - - 1.0.0-alpha04

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-alpha04"

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

Kotlin

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")
}

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.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.0

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.
  • Méthodes d'extension du rappel de visibilité spatiale ajoutées pour surveiller lorsque le contenu de la scène se déplace dans ou en dehors du champ de vision de l'utilisateur.
  • Ajout d'une version bouchon de JxrPlatformAdapter (et de toutes ses classes associées).
  • La session sera utilisée à la fois dans SceneCore et dans Runtime au lieu de la session dans SceneCore.
  • ActivityPose.hitTest a été ajouté, ce qui permet d'utiliser hitTest pour les contenus virtuels.
  • Il est désormais possible de spécifier plusieurs implémentations d'environnement d'exécution au moment de la compilation. Un seul sera chargé au moment de l'exécution en fonction de l'ensemble de fonctionnalités 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'à des instances PanelEntity.

Modifications apportées à l'API

  • Rendre l'implémentation de Config publique. (I95860)
  • Ajoutez HandJointType et TrackingState. (I55880)
  • Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou une version ultérieure pour être consommés (Idb6b5)
  • Hand.isActive (boolean) a été remplacé par Hand.trackingState. L'implémentation de OpenXR a été modifiée en conséquence.
  • L'exigence d'autorisation android.permission.SCENE_UNDERSTANDING dans Session.configure a été remplacée par android.permission.SCENE_UNDERSTANDING_COARSE.
  • LifecycleManager.configure est implémenté et transmet désormais un objet Config contenant une propriété pour chaque fonctionnalité d'exécution configurable.
  • Session.configure peut désormais être appelé avec un Config afin de configurer les fonctionnalités d'exécution disponibles.
  • Session.create accepte désormais de transmettre un CoroutineContext au lieu d'un CoroutineDispatcher.
  • Session.create permet de charger ARCore pour Jetpack XR et/ou SceneCore. Vous devez en fournir au moins une (des versions de test sont disponibles).
  • FakePerceptionManager génère une erreur AnchorInvalidUuidException lorsqu'un UUID non valide est transmis à Anchor.load et Anchor.unpersist.
  • CoreState n'est plus une classe de données.

Correction de bugs

  • Correction des configurations de proguard d'exécution.

Version 1.0.0-alpha03

26 février 2025

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 sont publiés sans modification notable depuis 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 de comportement et de non-fonctionnement

  • Les fonctions d'exécution OpenXR qui renvoient une ancre génèrent désormais une exception AnchorResourcesExhaustedException si elles rencontrent un code d'erreur indiquant que la limite de ressources OpenXR a été atteinte.
  • L'autorisation android.permission.HAND_TRACKING est désormais requise pour Session.create et Session.resume.

Nouvelles fonctionnalités

  • Ajout de la compatibilité avec le suivi des mains.

Corrections de bugs

  • La création d'ancrages 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 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 toute la surface de l'API Jetpack XR.

  • Session: vous permet de contrôler précisément le système XR, y compris de décider quand le traitement est exécuté ou non, ainsi que 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 n'est actuellement pas une opération. Les futures versions ajouteront de nouveaux paramètres que vous pourrez utiliser pour contrôler le comportement de Session.