ARCore pour Jetpack XR
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 25 mars 2026 | - | - | - | 1.0.0-alpha12 |
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-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha12" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha12") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12") }
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-alpha12
25 mars 2026
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha12. La version 1.0.0-alpha12 contient ces commits.
Modifications apportées à l'API
- Modification de
Config.augmentedObjectCategoriesd'une liste à un ensemble. (I25a64, b/487376359) - Types
androidx.xr.arcore.Eyeetandroidx.xr.arcore.Hand. (I42438, b/449032900) - Ajout de la 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) - Définition de l'API
TiltGesturecomme 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. La version 1.0.0-alpha11 contient ces commits.
Version 1.0.0-alpha10
28 janvier 2026
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha10. La version 1.0.0-alpha10 contient ces commits.
Nouvelles fonctionnalités
- Présentation de l'API
TiltGesture, qui fournit unFlowréactif pour la détection stable de l'état d'inclinaison de l'appareil (HAUT/BAS) avec la 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. La version 1.0.0-alpha09 contient ces commits.
Version 1.0.0-alpha08
19 novembre 2025
Publication d'androidx.xr.arcore:arcore-*:1.0.0-alpha08. La version 1.0.0-alpha08 contient ces commits.
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 géospatiales 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. La version 1.0.0-alpha07 contient ces commits.
Correction de bugs
:xr:arcore:arcore-openxrajouté 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. La version 1.0.0-alpha06 contient ces commits.
Modifications apportées à l'API
- La compatibilité 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. La version 1.0.0-alpha05 contient ces commits.
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 disponibilité VPS pour la vérification géospatiale (I58573)
- Ajout de l'API ARCore pour
checkVpsAvailability(Idbded) - Ajout de fonctions d'extension
stateFlowableà:xr:arcore:arcore-rxjava3pour les développeurs Java. (I083aa, b/427247794)
Modifications apportées à l'API
- Les valeurs
*Modede configuration ont é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) - Ajout de
Anchor.persistAsync()àAnchorGuavapour les développeurs Java. (I4af1c, b/425984631) - Ajout de
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)àEarthGuavapour 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 des annotations de nullité 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) - Ajout de fonctions d'extension
subscribeAsFlowableà:xr:arcore:arcore-rxjava3pour 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. La version 1.0.0-alpha04 contient ces commits.
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 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.arcore:arcore:1.0.0-alpha02. La version 1.0.0-alpha02 contient ces commits.
Nouvelles fonctionnalités
- Ajout de la compatibilité avec le 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 des mouvements, les ancres persistantes, les tests de détection et l'identification des 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 d'une session à l'autre. 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 le contenu qu'il croise et créer uneAnchorà partir de cet emplacement. Envisagez d'effectuer un hitTest à partir d'unInputEvent.
Problèmes connus
Il peut y avoir un délai 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 immédiatement fin à 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 bloctrycomme solution de contournement.