ARCore para Jetpack XR
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 6 de mayo de 2026 | - | - | - | 1.0.0-alpha13 |
Cómo declarar dependencias
Para agregar una dependencia en ARCore para Jetpack XR, debes agregar el repositorio de Maven de Google a tu proyecto. Lee el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:
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") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.0
Versión 1.0.0-alpha13
6 de mayo de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha13. La versión 1.0.0-alpha13 contiene estas confirmaciones.
Cambios en la API
TrackingStateyVpsAvailabilityResultse movieron alandroidx.xr.arcore package, y los tipos enandroidx.xr.runtimeahora están obsoletos. (Ic7930, b/480462213)- Se cambió el nombre de
Plane.TypeaPlaneType. (I8c90c, b/482675376) - Se cambió el nombre de
Hand.HandSideaHandSide. (Ica562, b/482675376) - Se cambió el nombre de
Plane.LabelaPlaneLabel. (Ic6b67, b/482675376) - Se cambió el nombre de
Geospatial.SurfaceaGeospatialSurface. (I1a8be, b/482675376) - Se cambió el nombre de
Geospatial.StateaGeospatialState. (I203fa, b/482675376) - Se movió la API de
NativeDataa la bibliotecaxr:runtime:runtime. (I87954, b/494251500) Session.createySession.configureahora no son exhaustivos y requieren cláusulas else en las instrucciones when. (I9885e, b/495805998, b/495805998)androidx.xr.runtime.FieldOfViewquedó obsoleto. Se usaandroidx.xr.runtime.math.FieldOfViewen su lugar. (Ia01a0, b/480233045)- Se cambió Orbiter para usar
OrbiterAnchorPoint + VolumeOffsetoOrbiterPoseProvideren lugar de position, offset, offsetType, alignment y elevation. También se quitó el parámetroshouldRenderInNonSpatial. Si el desarrollador no quiere que el orbitador se renderice en un espacio no espacial, debe incluirlo en una instrucción if y verificar elSpatialCapabilities. (I9fbb3, b/462428503) - Se agregaron modificadores móviles. Estos modificadores funcionan bien, por ahora, para
SpatialPanelsySpatialExternalSurface. Muy pronto, también serán compatibles conSpatialGltfModels. Sin embargo, la intención es que sean compatibles con todos losSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) - Se espera que los desarrolladores observen el flujo
ArDevice.statepara supervisarState.trackingStatey ajustar la renderización o las advertencias de su aplicación en consecuencia según la fidelidad del seguimiento. (Ic00f0, b/445466590) - Se cambiaron los valores de enumeración
HandJointType. (Ifbc83, b/482670596) - Se cambiaron las constantes
FaceConfidenceRegion. (Ia62d5, b/482670596) - Se cambiaron las constantes
FaceBlendShapeType. (I33b8b, b/482670596) - Se agregaron
CreatePoseFromGeospatialPoseErrorInternalyCreateGeospatialPoseFromPoseErrorInternal. (I4bcf1, b/482666615) - Se cambió el nombre de
DeviceTrackingMode.LAST_KNOWNaSPATIAL_LAST_KNOWN(con una reserva obsoleta), se agregóINERTIAL_LAST_KNOWNpara el seguimiento de 3DoF y se agregóTRACKING_DEGRADEDaTrackingState. (Ie661c, b/445466590) - Se dio de baja
GroupEntity. Para tener una entidad con solo la funcionalidad de Entity base, llama aEntity.create, que mostrará una interfaz de Entity. (I4c450, b/473867483) - Se agregó la API de
XrLog. ConfiguraXrLog.isEnabledentruepara habilitar el registro en JetpackXR y usaXrLog.Levelpara establecer el nivel de registro. (I76a1f, b/463460895, b/487378441)
Correcciones de errores
- Se agregó la compatibilidad con el estado de seguimiento del dispositivo a los dispositivos openxr. (I91485, b/445466590)
Versión 1.0.0-alpha12
25 de marzo de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.
Cambios en la API
- Se cambió
Config.augmentedObjectCategoriesde una lista a un conjunto. (I25a64, b/487376359) - Los tipos
androidx.xr.arcore.Eyeyandroidx.xr.arcore.Hand. (I42438, b/449032900) - Se agregó una sobrecarga de
Session.createpara permitir el paso de un contexto de Android para el alcance de recursos. (I7d3fe, b/415805990, b/477386334) - Se cambió
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITaFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - Se convirtió la API de
TiltGestureen experimental, ya que se puede cambiar o quitar en el futuro. Para usar esta API, habilita@ExperimentalGesturesApi(Ic9858) - Se agregó la capacidad de establecer categorías para el seguimiento de
AugmentedObjecten la configuración (I1f6e4, b/480220930).
Correcciones de errores
- Se corrigió la compilación de Chrome actualizando el archivo META-INF/services/ con la ubicación real de
PerceptionRuntimeFactory. (I7a801, b/481288291)
Versión 1.0.0-alpha11
25 de febrero de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Versión 1.0.0-alpha10
28 de enero de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Nuevas funciones
- Se presenta la API de
TiltGesture, que proporciona unFlowreactivo para la detección estable del estado de inclinación del dispositivo (ARRIBA/ABAJO) con el progreso de la transición. (Ic269f, b/448152779) - ARCore para Jetpack XR ahora usa el mecanismo de registro de XR Runtime. Consulta
androidx.xr.runtime.Logpara obtener más información. (l52735, b/448697662)
Cambios en la API
Geospatial.createPoseFromGeospatialPoseahora funciona en dispositivos habilitados para OpenXR. (l362c6)
Versión 1.0.0-alpha09
3 de diciembre de 2025
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.
Versión 1.0.0-alpha08
Noviembre
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
ARCorepara Jetpack XR ahora admite dispositivos en los que está disponible Servicios de Google Play para RA.- Se agregaron APIs geoespaciales para la disponibilidad de VPS y la conversión de poses (I144dc).
Versión 1.0.0-alpha07
22 de octubre de 2025
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Correcciones de errores
- Se agregó
:xr:arcore:arcore-openxrcomo una dependencia de implementación a:xr:arcore:arcore(I47315, b/446999229).
Versión 1.0.0-alpha06
24 de septiembre de 2025
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- La compatibilidad con las pruebas de
ARCorese migró al móduloxr:arcore:arcore-testing. (I25469) - Se agregaron
ArDeviceyRenderViewpointpara permitir que las aplicaciones recuperen la pose del dispositivo y la configuración de visualización para fines de renderización. (Ib7e3f) - Se cambió el nombre de las enumeraciones
HandJointTypecon el prefijoHAND_JOINT_TYPE_. (I3f7cd) HandJointTypese movió dexr:runtime:runtimeaxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Stateahora expone unjava.nio.FloatBuffercon las poses de las articulaciones en un formato que permite un acceso fácil a las aplicaciones orientadas al rendimiento. (I55e27)
Versión 1.0.0-alpha05
30 de julio de 2025
Lanzamiento de androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 y androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
getPrimaryHandSidepara que el desarrollador pueda obtener la información del lado de la mano (I270bd). - Se agregó la API de disponibilidad de VPS de verificación geoespacial (I58573).
- Se agregó la API de ARCore para
checkVpsAvailability(Idbded) - Se agregaron funciones de extensión
stateFlowablea:xr:arcore:arcore-rxjava3para que los desarrolladores de Java las usen. (I083aa, b/427247794)
Cambios en la API
- Se cambió el nombre de los valores de Config
*Modepara reflejar su comportamiento. (I6d247, b/414648065) - El artefacto principal de ARCore (xr:arcore:arcore) solo contendrá APIs asíncronas de estilo Kotlin. Los desarrolladores de Java pueden depender de la biblioteca
xr:arcore:arcore-rxjava3para acceder a las APIs compatibles. (Ia525e, b/422794329) - El artefacto principal de ARCore (
xr:scenecore:scenecore) solo contendrá APIs asíncronas de estilo Kotlin. Los desarrolladores de Java pueden depender de la bibliotecaxr:arcore:arcore-guavapara acceder a las APIs compatibles. (Iffcb4, b/422773524) - Se agregó
Anchor.persistAsync()aAnchorGuavapara que los desarrolladores de Java la usen. (I4af1c, b/425984631) - Se agregó
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)aEarthGuavapara que los desarrolladores de Java la usen. (I66357, b/425992992) - Los desarrolladores de Java usarán las funciones de extensión para
GltfModel.createAsyncenGltfModel.kt. Se borrarán las funciones asíncronas enGltfModel. (I0af60) - Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deben usar el siguiente argumento del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict(este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin) (Ia8420, b/326456246). - Se agregaron funciones de extensión
subscribeAsFlowablea:xr:arcore:arcore-rxjava3para que los desarrolladores de Java las usen. (Id3e49, b/427277298)
Versión 1.0.0-alpha04
7 de mayo de 2025
Lanzamiento de androidx.xr.arcore:arcore:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Cambios en la API
- Los proyectos lanzados con Kotlin 2.0 requieren que se consuma KGP 2.0.0 o una versión posterior. (Idb6b5)
TrackingStateyHandJointTypese movieron de ARCore a Runtime.Hand.State.isActive (boolean)se cambió aHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadmuestraAnchor.AnchorLoadInvalidUuidsi el UUID no es válido.
Versión 1.0.0-alpha03
26 de febrero de 2025
Lanzamiento de androidx.xr.arcore:arcore:1.0.0-alpha03 sin cambios notables desde la última versión alfa. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Versión 1.0.0-alpha02
12 de febrero de 2025
Lanzamiento de androidx.xr.arcore:arcore:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con el monitoreo de manos. Usa
Hand.leftyHand.rightpara acceder a la información de seguimiento. - Las APIs que generan un anclaje (
Anchor.create,Anchor.load,Plane.createAnchor) ahora muestranAnchorCreateResulty, además, implementan correctamenteAnchorCreateResourcesExhausted.
Correcciones de errores
Anchor.detachya no causa una falla fatal debido a una condición de carrera con el subproceso de actualización de la sesión.Anchor.createes más estable cuando se ejecuta en un emulador.
Versión 1.0.0-alpha01
12 de diciembre de 2024
Lanzamiento de androidx.xr.arcore:arcore-* 1.0.0-alpha01.
Funciones de la versión inicial
Inspirada en la biblioteca de ARCore existente, la biblioteca de ARCore para Jetpack XR proporciona capacidades para combinar contenido digital con el mundo real. Esta biblioteca incluye seguimiento de movimiento, anclajes persistentes, pruebas de impacto e identificación de planos con etiquetas semánticas (por ejemplo, piso, paredes y mesas). Consulta la guía para desarrolladores para obtener más información sobre cómo trabajar con ARCore para Jetpack XR.
Session: ARCore para Jetpack XR usa Jetpack XR Runtime en segundo plano para potenciar su funcionalidad. Usarás una sesión para interactuar con la mayoría de las APIs de ARCore para Jetpack XR, así que consulta su documentación.Plane: Usa planos para comprender el mundo que te rodea. Cada plano tiene unLabelque lo describe semánticamente. Puedes usarsubscribepara recibir notificaciones sobre los planos detectados más recientes ostatepara recibir notificaciones sobre los cambios en un plano específico.Anchor: Es un vínculo entre un objeto virtual y una ubicación del mundo real. Los anclajes se pueden adjuntar a una ubicación específica en el espacio (concreate) o a unTrackable(concreateAnchor).Los anclajes se pueden reutilizar en distintas sesiones. Puedes usar
persistpara almacenarlos,getPersistedAnchorUuidspara enumerarlos yloadpara recuperarlos. Asegúrate deunpersistuna vez que ya no estén en uso.Los anclajes son interoperables entre ARCore para Jetpack XR y Jetpack SceneCore. Puedes crear un
AnchorEntitycon un anclaje o, si tienes un AnchorEntity existente, puedes usargetAnchorpara recuperar su anclaje de respaldo.Ofrece interacciones naturales del usuario con
hitTest. Un hitTest usa unRaypara determinar qué contenido interseca y crear unAnchordesde esa ubicación. Considera realizar un hitTest desde unInputEvent.
Errores conocidos
Es posible que haya una demora entre la llamada a
unpersisty la eliminación de su UUID de los resultados que muestragetPersistedAnchorUuids.createno validará que el sistema tenga suficientes recursos para mostrar anclajes nuevos. Crear una cantidad excesiva de anclajes puede provocar una falla.Por el momento, no se admite la persistencia de un anclaje que se haya persistido y no persistido anteriormente.
Se admite el uso en el emulador, pero es posible que el comportamiento no sea tan estable como cuando se ejecuta en un dispositivo real. En particular, las llamadas a
createpueden fallar con un error de código nativo y finalizar la actividad de inmediato.En ciertas circunstancias, se puede arrojar una
RuntimeExceptionde forma errónea cuando se llama apersistcon el mensaje "No se persistió el anclaje". En esas circunstancias, la función aún se realizará correctamente y el anclaje se persistirá. Recomendamos incluir la llamada apersistcon un bloquetrycomo solución alternativa.