ARCore para Jetpack XR
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 21 de octubre de 2026 | 1.0.0 | - | - | 1.1.0-alpha01 |
Cómo declarar dependencias
Para agregar una dependencia en ARCore para Jetpack XR, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta 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.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.1.0-alpha01") }
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 Issue Tracker para obtener más información.
Versión 1.1
Versión 1.1.0-alpha01
21 de octubre de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se introdujo la API de
SpatialAnnotationpara hacer un seguimiento de objetos y geometrías físicas en 3D. Se agregóSpatialAnnotationTrackingOptionsy su patrón de compilador correspondiente para configurar el seguimiento espacial a través de búferes de imágenes de la cámara. (I918ce) - Se introdujeron
SpatialAnnotationySpatialAnnotationTrackingModeen Jetpack XR ARCore, lo que permite a los desarrolladores configurar y hacer un seguimiento de geometrías cuadriláteras 3D limitadas arbitrarias (Quad) orientadas a entornos espaciales físicos del mundo real. (I880e4) - Se agregó
TestSpatialAnnotationpara permitir la simulación programática de anotaciones espaciales en pruebas automatizadas. (If2335). - Se agregaron
geospatialPose,horizontalAccuracy,verticalAccuracyyorientationYawAccuracycomo APIs nuevas para proporcionar más información en el estado geoespacial. (If28f8)
Correcciones de errores
- Se actualizó la dependencia
androidx.lifecycle:lifecycle-runtimea la versión 2.10.0. Esta versión es necesaria para que las verificaciones de lint del entorno de ejecución del ciclo de vida empaquetado se ejecuten con la versión 9.5.0-alpha04 o posterior del AGP. (I99bfd, b/556807521) - Se verificó si la cantidad máxima de imágenes era 0 cuando se configuraba
AugmentedImage, lo que arrojóUnsupportedOperationExceptionen lugar de fallar de forma inesperada. I6ce439 - Corrige las fugas de memoria y los problemas de simultaneidad en
AugmentedImageRendererhaciendo un seguimiento adecuado de los trabajos de renderización y cancelándolos, eliminando entidades y modificando de forma segura la colección de imágenes. Ie70760
Versión 1.0
Versión 1.0.0
21 de octubre de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0:
- ARCore para Jetpack XR ahora es estable. La biblioteca de ARCore para Jetpack XR proporciona funciones para combinar contenido digital con el mundo real. Esta biblioteca incluye seguimiento de movimiento, anclajes persistentes, pruebas de posicionamiento, identificación de planos con etiquetado semántico (por ejemplo, piso, paredes y mesas) y poses geoespaciales con el Sistema de posicionamiento visual de Google.
- Para obtener más información, consulta nuestra guía para desarrolladores y la referencia de la API.
Versión 1.0.0-rc02
7 de octubre de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-rc02. La versión 1.0.0-rc02 incluye estas confirmaciones.
Correcciones de errores
- Se solucionó un problema por el que
OpenXrRuntimeno podía configurar la sesión cuando no se admitía el seguimiento de imágenes aumentadas. (I8b9759) - Se corrigieron varios problemas, incluidos los siguientes: se mejoró la administración de la memoria en
XrInstanceManagerconapplicationContext, se resolvieron posibles problemas relacionados con el ciclo de vida simplificando los mecanismos de almacenamiento en caché deSessionyScene, y se mejoróReferenceCleanerpara garantizar registros de limpieza con protección de subprocesos y eliminaciones explícitas. (Id0b76c)
Versión 1.0.0-rc01
9 de septiembre de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.
Versión 1.0.0-beta02
12 de agosto de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-beta02. La versión 1.0.0-beta02 incluye estas confirmaciones.
Correcciones de errores
- Se corrigió un problema de simultaneidad en la persistencia de anclajes de
OpenXR. (I15c8b). - Se implementó
toString()en más clases para la depuración. (I587e8)
Versión 1.0.0-beta01
15 de julio de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se actualizó el modificador resizable para usar un
ResizePolicyen lugar de dos modificadores (I7fb0f, b/496257436, b/519672992). - Se agregó una sobrecarga móvil con el parámetro
movePolicyy se marcaron como obsoletostransformingMovableymovable(Ic88c1, b/481781189). - Se quitó
TrackingState.TRACKING_DEGRADED de la plataforma de la API pública y, en su lugar, se asignaron los estados degradados del entorno de ejecución del mapa a PAUSED. ActualizaTrackingStatepara usar enumeraciones en lugar de valores int para la conversión de cadenas y la conversión del entorno de ejecución. (I3eb5b, b/524326338) - Se convirtió Session.create en una función de suspensión. (I5d27f).
- Se dio de baja
ProjectedPermissionsResultContract(I141d5, b/515699436). - Se actualizó
AnchorEntitypara que se llameAnchorSpace(Ifa95e, b/513619219).
Versión 1.0.0-alpha15
17 de junio de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha15. La versión 1.0.0-alpha15 incluye estas confirmaciones.
Cambios en la API
HitResult.createAnchorse quitó. Los desarrolladores pueden crear un ancla que represente elHitResultsi el elemento rastreable del resultado es unAnchorable. Para ello, deben proporcionar la posición de la detección a la funcióncreateAnchordelAnchorable. (Ia851e).AnchorUnsupportedObjectse quitó. Ya no lo arroja un entorno de ejecución de JXR ARCore. (Ia851e).androidx.xr.arcore.Anchoryandroidx.xr.arcore.ArDeviceahora implementanandroidx.xr.arcore.Trackable. (I57b65)Depth.left,Depth.rightyDepth.monoahora no admiten valores nulos (I1fc5e).Face.getUserFaceahora no admite valores nulos (I0eac1).RenderViewpoint.left,RenderViewpoint.rightyRenderViewpoint.monoahora no admiten valores nulos (Icf7fa).Hand.leftyHand.rightno son anulables (Icef37).- Se agregó la API de
QrCode(Ia0bbe).
Versión 1.0.0-alpha14
19 de mayo de 2026
Lanzamiento de androidx.xr.arcore:arcore-*:1.0.0-alpha14. La versión 1.0.0-alpha14 incluye estas confirmaciones.
Cambios en la API
- Se dio de baja
GeospatialMode.VPS_AND_GPSen favor deGeospatialMode.SPATIALy se incorporó un nuevo modo de seguimiento de menor consumo,GeospatialMode.INERTIAL, que solo usa IMU y GPS. (I1e6cd) - Las clases de excepción de anclaje personalizadas
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionyAnchorUnsupportedObjectExceptionahora son instancias deRuntimeException, que no se deben verificar. (I9356e) - Se agregó la API de
ArCoreTestRule, incluidasTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointyTestTrackable(I0ad3c). - Quita
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationyAnchorCreateNotAuthorized. Todos estos errores ahora son excepciones en el entorno de ejecución. QuitaAnchorCreateIllegalState. En la mayoría de los casos, se reemplazó porAnchorCreateTrackingUnavailable. Se agregóAnchorExceptiony las clases derivadasAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionyAnchorUnsupportedObjectException. (I4c4dd).
Contribución externa
- Se agregó la API de
AugmentedImagepara el seguimiento de marcadores personalizados (I0cf09).
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 incluye estas confirmaciones.
Cambios en la API
TrackingStateyVpsAvailabilityResultse movieron aandroidx.xr.arcore package, y los tipos deandroidx.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 biblioteca dexr:runtime:runtime. (I87954, b/494251500) Session.createySession.configureahora no son exhaustivos y requieren cláusulas else en las sentencias 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 un
OrbiterAnchorPoint + VolumeOffseto unOrbiterPoseProvideren lugar de la posición, el desplazamiento, el tipo de desplazamiento, la alineación y la elevación. También se quitó el parámetroshouldRenderInNonSpatial. Si el desarrollador no quiere que el elemento orbital se renderice en un entorno no espacial, debe unirlo en una sentencia if y verificar elSpatialCapabilities. (I9fbb3, b/462428503) - Se agregaron modificadores móviles. Estos modificadores funcionan bien, ahora mismo, para
SpatialPanelsySpatialExternalSurface. Muy pronto, también se admitirán paraSpatialGltfModels. 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 de
ArDevice.statepara supervisarState.trackingStatey ajustar la renderización o las advertencias de su aplicación según corresponda en función de la fidelidad del seguimiento. (Ic00f0, b/445466590) - Se cambió el nombre de los valores de enum
HandJointType. (Ifbc83, b/482670596) - Se cambió el nombre de
FaceConfidenceRegionconstantes. (Ia62d5, b/482670596) - Se cambió el nombre de
FaceBlendShapeTypeconstantes. (I33b8b, b/482670596) - Se agregaron
CreatePoseFromGeospatialPoseErrorInternalyCreateGeospatialPoseFromPoseErrorInternal. (I4bcf1, b/482666615) - Se cambió el nombre de
DeviceTrackingMode.LAST_KNOWNaSPATIAL_LAST_KNOWN(con un resguardo obsoleto), se agregóINERTIAL_LAST_KNOWNpara el seguimiento de 3DoF y se agregóTRACKING_DEGRADEDaTrackingState. (Ie661c, b/445466590) GroupEntityquedó obsoleto. Para tener una entidad con solo la funcionalidad de entidad base, llama aEntity.create, que devolverá una interfaz de entidad. (I4c450, b/473867483)- Se agregó la API de
XrLog. EstableceXrLog.isEnabledentruepara habilitar el registro en JetpackXR y usaXrLog.Levelpara establecer el nivel de registro. (I76a1f, b/463460895, b/487378441)
Correcciones de errores
- Agrega la compatibilidad con el estado de seguimiento de dispositivos a los dispositivos de 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ó la sobrecarga de
Session.createpara permitir pasar un Context de Android para el alcance de los recursos. (I7d3fe, b/415805990, b/477386334) - Cambia
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITporFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - Se convirtió la API de
TiltGestureen experimental, ya que podría cambiarse o quitarse 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 incluye 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 del entorno de ejecución de XR. Consulta
androidx.xr.runtime.Logpara obtener más información. (l52735, b/448697662)
Cambios en la API
Geospatial.createPoseFromGeospatialPoseahora funciona en dispositivos compatibles con 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
19 de noviembre de 2025
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án disponibles los Servicios de Google Play para RA.- Se agregaron las APIs de Geospatial para la disponibilidad del 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 incluye estas confirmaciones.
Correcciones de errores
- Se agregó
:xr:arcore:arcore-openxrcomo 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 de pruebas para
ARCorese migró al móduloxr:arcore:arcore-testing. (I25469) - Se agregaron
ArDeviceyRenderViewpointpara permitir que las aplicaciones recuperen la pose y la configuración de pantalla del dispositivo con fines de renderización. (Ib7e3f) - Cambia el nombre de las enumeraciones
HandJointTypecon el prefijoHAND_JOINT_TYPE_. (I3f7cd) - Se movió
HandJointTypedexr: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 incluye 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 Geospatial para verificar la disponibilidad del VPS (I58573).
- Se agregó la API de ARCore para
checkVpsAvailability(Idbded). - Se agregaron funciones de extensión de
stateFlowablea:xr:arcore:arcore-rxjava3para que las usen los desarrolladores de Java. (I083aa, b/427247794)
Cambios en la API
- Se cambiaron los nombres de los valores de configuración
*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 lo usen los desarrolladores de Java. (I4af1c, b/425984631) - Se agregó
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)aEarthGuavapara que lo usen los desarrolladores de Java. (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 de
subscribeAsFlowablea:xr:arcore:arcore-rxjava3para que las usen los desarrolladores de Java. (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 incluye estas confirmaciones.
Cambios en la API
- Los proyectos lanzados con Kotlin 2.0 requieren KGP 2.0.0 o una versión posterior para consumirse. (Idb6b5).
TrackingStateyHandJointTypese movieron de ARCore al entorno de ejecución.- Se cambió
Hand.State.isActive (boolean)porHand.State.trackingState (androidx.xr.runtime.TrackingState). Anchor.loaddevuelveAnchor.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 incluye 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 ancla (
Anchor.create,Anchor.loadyPlane.createAnchor) ahora devuelvenAnchorCreateResulty, además, implementanAnchorCreateResourcesExhaustedde forma correcta.
Correcciones de errores
Anchor.detachya no provoca 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 funciones para combinar contenido digital con el mundo real. Esta biblioteca incluye seguimiento de movimiento, anclajes persistentes, pruebas de posicionamiento y detección de planos con etiquetado semántico (por ejemplo, piso, paredes y mesas). Consulta la guía para desarrolladores y obtén más información para trabajar con ARCore para Jetpack XR.
Session: ARCore para Jetpack XR usa el entorno de ejecución de Jetpack XR de forma interna 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 de forma semántica. 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).Las anclas se pueden reutilizar en todas las 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 ancla o, si tienes un AnchorEntity existente, puedes usargetAnchorpara recuperar su ancla de respaldo.Ofrece interacciones naturales con los usuarios a través de
hitTest. Una prueba de posicionamiento usa unRaypara determinar con qué contenido se cruza y crear unAnchora partir de esa ubicación. Considera realizar una prueba de posicionamiento 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 devuelvegetPersistedAnchorUuids.createno validará que el sistema tenga suficientes recursos para devolver anclas nuevas. Crear una cantidad excesiva de anclas puede provocar una falla.Por el momento, no se admite conservar un ancla que se conservó y se dejó de conservar 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, es posible que se arroje un
RuntimeExceptionpor error cuando se llame apersistcon el mensaje “No se conservó el ancla”. En esas circunstancias, la función se ejecutará correctamente y se conservará el ancla. Como solución alternativa, te recomendamos que unas la llamada apersistcon un bloquetry.