ARCore pour Jetpack XR
| 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 à ARCore pour Jetpack 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.arcore:arcore:1.0.0-alpha13" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha13" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha13") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha13") implementation("androidx.xr.arcore:arcore-rxjava3: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.arcore:arcore-*: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)Plane.Typea été renomméPlaneType. (I8c90c, b/482675376)Hand.HandSidea été renomméHandSide. (Ica562, b/482675376)Plane.Labela été renomméPlaneLabel. (Ic6b67, b/482675376)Geospatial.Surfacea été renomméGeospatialSurface. (I1a8be, b/482675376)Geospatial.Statea été renomméGeospatialState. (I203fa, b/482675376)- L'API
NativeDataa été déplacée vers 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)- Orbiter a été modifié pour utiliser un
OrbiterAnchorPoint + VolumeOffsetou unOrbiterPoseProviderau lieu de position, offset, offsetType, alignment et elevation. Le paramètreshouldRenderInNonSpatiala également été supprimé. Si le développeur ne souhaite pas que l'orbiteur s'affiche dans un espace non spatial, il doit l'encapsuler dans une instruction if et vérifier lesSpatialCapabilities. (I9fbb3, b/462428503) - Ajout de modificateurs mobiles. Ces modificateurs fonctionnent bien, pour le moment, pour
SpatialPanelsetSpatialExternalSurface. Ils seront également bientôt compatibles avecSpatialGltfModels. Toutefois, l'objectif est qu'ils soient bien compatibles avec tous lesSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) - Les développeurs doivent observer le flux
ArDevice.statepour surveillerState.trackingStateet ajuster le rendu ou les avertissements de leur application en fonction de la fidélité du suivi. (Ic00f0, b/445466590) - Les valeurs d'énumération
HandJointTypeont été renommées. (Ifbc83, b/482670596) - Les constantes
FaceConfidenceRegionont été renommées. (Ia62d5, b/482670596) - Les constantes
FaceBlendShapeTypeont été renommées. (I33b8b, b/482670596) - Ajout de
CreatePoseFromGeospatialPoseErrorInternaletCreateGeospatialPoseFromPoseErrorInternal. (I4bcf1, b/482666615) DeviceTrackingMode.LAST_KNOWNa été renomméSPATIAL_LAST_KNOWN(avec un fallback obsolète),INERTIAL_LAST_KNOWNa été ajouté pour le suivi 3DoF etTRACKING_DEGRADEDa été ajouté àTrackingState. (Ie661c, b/445466590)GroupEntityest maintenant obsolète. Pour qu'une entité ne dispose que de la fonctionnalité d'entité de base, appelezEntity.create, qui renverra une interface d'entité. (I4c450, b/473867483)- Ajout de l'API
XrLog. DéfinissezXrLog.isEnabledsurtruepour activer la journalisation dans JetpackXR, et utilisezXrLog.Levelpour définir le niveau de journalisation. (I76a1f, b/463460895, b/487378441)
Correction de bugs
- Ajout de la prise en charge de l'état de suivi des appareils aux appareils OpenXR. (I91485, b/445466590)
Version 1.0.0-alpha12
25 mars 2026
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12 .
Modifications apportées à l'API
Config.augmentedObjectCategoriesest passé d'une liste à un ensemble. (I25a64, b/487376359)- Les types
androidx.xr.arcore.Eyeetandroidx.xr.arcore.Hand. (I42438, b/449032900) - Ajout d'une surcharge
Session.createpour autoriser la transmission d'un contexte Android pour la délimitation des ressources. (I7d3fe, b/415805990, b/477386334) - Modification de
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITenFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - L'API
TiltGestureest expérimentale, car elle peut être modifiée ou supprimée à l'avenir. Pour utiliser cette API, activez@ExperimentalGesturesApi(Ic9858) - Ajout de la possibilité de définir des catégories pour le suivi
AugmentedObjectdans la configuration (I1f6e4, b/480220930)
Correction de bugs
- Correction de la compilation de Chrome en mettant à jour le fichier META-INF/services/ avec l'emplacement réel de
PerceptionRuntimeFactory. (I7a801, b/481288291)
Version 1.0.0-alpha11
25 février 2026
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11 .
Version 1.0.0-alpha10
28 janvier 2026
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10
Nouvelles fonctionnalités
- Présentation de l'API
TiltGesture, qui fournit unFlowréactif pour la détection stable de l'état d'inclinaison (HAUT/BAS) de l'appareil avec une progression de la transition. (Ic269f, b/448152779) - ARCore pour Jetpack XR utilise désormais le mécanisme de journalisation XR Runtime. Pour en savoir plus, consultez
androidx.xr.runtime.Log. (l52735, b/448697662)
Modifications apportées à l'API
Geospatial.createPoseFromGeospatialPosefonctionne désormais sur les appareils compatibles avec OpenXR. (l362c6)
Version 1.0.0-alpha09
3 décembre 2025
Publication d'androidx.xr.arcore:arcore-*: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.arcore:arcore-*:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08
Nouvelles fonctionnalités
ARCorepour Jetpack XR est désormais compatible avec les appareils sur lesquels les Services Google Play pour la RA sont disponibles.- Ajout d'API Geospatial pour la disponibilité VPS et la conversion de pose (I144dc)
Version 1.0.0-alpha07
22 octobre 2025
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07
Correction de bugs
:xr:arcore:arcore-openxra été ajouté en tant que dépendance d'implémentation à:xr:arcore:arcore(I47315, b/446999229)
Version 1.0.0-alpha06
24 septembre 2025
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06
Modifications apportées à l'API
- La prise en charge des tests pour
ARCorea été migrée vers le modulexr:arcore:arcore-testing. (I25469) - Ajout de
ArDeviceetRenderViewpointpour permettre aux applications de récupérer la pose et la configuration d'affichage de l'appareil à des fins de rendu. (Ib7e3f) - Renommage des énumérations
HandJointTypeavec le préfixeHAND_JOINT_TYPE_. (I3f7cd) HandJointTypea été déplacé dexr:runtime:runtimeversxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Stateexpose désormais unjava.nio.FloatBufferavec les poses des articulations dans un format qui permet d'accéder facilement aux applications axées sur les performances. (I55e27)
Version 1.0.0-alpha05
30 juillet 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 et androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.
Nouvelles fonctionnalités
- Ajout de
getPrimaryHandSidepour que le développeur puisse obtenir les informations sur le côté de la main (I270bd) - Ajout d'une API de vérification de la disponibilité VPS géospatiale (I58573)
- Ajout de l'API ARCore pour
checkVpsAvailability(Idbded) - Fonctions d'extension
stateFlowableajoutées à:xr:arcore:arcore-rxjava3pour être utilisées par les développeurs Java. (I083aa, b/427247794)
Modifications apportées à l'API
- Les valeurs de configuration
*Modeont été renommées pour refléter leur comportement. (I6d247, b/414648065) - L'artefact ARCore principal (xr:arcore:arcore) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent dépendre de la bibliothèque
xr:arcore:arcore-rxjava3pour accéder aux API compatibles. (Ia525e, b/422794329) - L'artefact ARCore principal (
xr:scenecore:scenecore) ne contiendra que des API asynchrones de style Kotlin. Les développeurs Java peuvent dépendre de la bibliothèquexr:arcore:arcore-guavapour accéder aux API compatibles. (Iffcb4, b/422773524) Anchor.persistAsync()a été ajouté àAnchorGuavapour être utilisé par les développeurs Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)a été ajouté àEarthGuavapour être utilisé par les développeurs Java. (I66357, b/425992992)- Les développeurs Java utiliseront les fonctions d'extension pour
GltfModel.createAsyncdansGltfModel.kt. Les fonctions asynchrones deGltfModelseront supprimées. (I0af60) - Cette bibliothèque utilise désormais les annotations de possibilité de valeur nulle JSpecify, qui sont des annotations d'utilisation de type. 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) - Fonctions d'extension
subscribeAsFlowableajoutées à:xr:arcore:arcore-rxjava3pour être utilisées par les développeurs Java. (Id3e49, b/427277298)
Version 1.0.0-alpha04
7 mai 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04 .
Modifications apportées à l'API
- Les projets publiés avec Kotlin 2.0 nécessitent l'utilisation de KGP 2.0.0 ou version ultérieure. (Idb6b5)
TrackingStateetHandJointTypeont été déplacés d'ARCore vers Runtime.Hand.State.isActive (boolean)a été remplacé parHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadrenvoieAnchor.AnchorLoadInvalidUuidsi l'UUID n'est pas valide.
Version 1.0.0-alpha03
26 février 2025
Publication d'androidx.xr.arcore:arcore:1.0.0-alpha03 sans modification notable par rapport à 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.arcore:arcore:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02 these commits.
Nouvelles fonctionnalités
- Ajout de la prise en charge du suivi des mains. Utilisez
Hand.leftetHand.rightpour accéder aux informations de suivi. - Les API qui génèrent une ancre (
Anchor.create,Anchor.load,Plane.createAnchor) renvoient désormais toutesAnchorCreateResultet implémentent correctementAnchorCreateResourcesExhausted.
Corrections de bugs
Anchor.detachne provoque plus de plantage fatal en raison d'une condition de concurrence avec le thread de mise à jour de la session.Anchor.createest plus stable lorsqu'il est exécuté sur un émulateur.
Version 1.0.0-alpha01
12 décembre 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01 est publié.
Fonctionnalités de la version initiale
Inspirée de la bibliothèque ARCore existante, la bibliothèque ARCore pour Jetpack XR offre des fonctionnalités permettant de combiner du contenu numérique avec le monde réel. Cette bibliothèque inclut le suivi du mouvement, les ancres persistantes, les tests de positionnement et l'identification de plans avec étiquetage sémantique (par exemple, sol, murs et plateaux de table). Consultez le guide du développeur pour en savoir plus sur l'utilisation d'ARCore pour Jetpack XR.
Session: ARCore pour Jetpack XR utilise Jetpack XR Runtime en arrière-plan pour alimenter ses fonctionnalités. Vous utiliserez une session pour interagir avec la plupart des API ARCore pour Jetpack XR. Veuillez donc consulter sa documentation.Plane: utilisez des plans pour comprendre le monde qui vous entoure. Chaque plan possède unLabelqui le décrit sémantiquement. Vous pouvez utilisersubscribepour être informé des derniers plans détectés oustatepour être informé des modifications apportées à un plan spécifique.Anchor: lien entre un objet virtuel et un emplacement réel. Les ancres peuvent être associées à un emplacement spécifique dans l'espace (à l'aide decreate) ou à unTrackable(à l'aide decreateAnchor).Les ancres peuvent être réutilisées dans plusieurs sessions. Vous pouvez utiliser
persistpour les stocker,getPersistedAnchorUuidspour les énumérer etloadpour les récupérer. Assurez-vous de lesunpersistune fois qu'elles ne sont plus utilisées.Les ancres sont interopérables entre ARCore pour Jetpack XR et Jetpack SceneCore. Vous pouvez créer un
AnchorEntityà l'aide d'une ancre ou, si vous disposez d'une AnchorEntity existante, vous pouvez utilisergetAnchorpour récupérer son ancre de sauvegarde.Proposez des interactions utilisateur naturelles à l'aide de
hitTest. Un hitTest utilise unRaypour déterminer les contenus qu'il croise et créer uneAnchorà partir de cet emplacement. Envisagez d'effectuer un hitTest à partir d'unInputEvent.
Problèmes connus
Il peut s'écouler un certain temps entre l'appel de
unpersistet la suppression de son UUID des résultats renvoyés pargetPersistedAnchorUuids.createne valide pas si le système dispose de suffisamment de ressources pour renvoyer de nouvelles ancres. La création d'un nombre excessif d'ancres peut entraîner un plantage.La persistance d'une ancre qui a déjà été persistée et non persistée n'est actuellement pas prise en charge.
L'utilisation dans l'émulateur est prise en charge, mais le comportement peut ne pas être aussi stable que lors de l'exécution sur un appareil réel. En particulier, les appels à
createpeuvent échouer avec une erreur de code natif et mettre fin immédiatement à l'activité.Dans certains cas, un
RuntimeExceptionpeut être généré par erreur lors de l'appel depersistavec le message "Anchor was not persisted" (L'ancre n'a pas été persistée). Dans ce cas, la fonction réussit et l'ancre est persistée. Nous vous recommandons d'encapsuler l'appel àpersistavec un bloctrypour contourner le problème.