Entorno de ejecución de XR
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 25 de marzo de 2026 | - | - | - | 1.0.0-alpha12 |
Cómo declarar dependencias
Para agregar una dependencia en el entorno de ejecución de XR, debes agregar el repositorio 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.runtime:runtime:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha12" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha12") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha12") }
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-alpha12
25 de marzo de 2026
Lanzamiento de androidx.xr.runtime:runtime-*: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). - Se quitó la marca
unscaledGravityAlignedActivitySpacedeSession.create.ActivitySpaceahora siempre está sin escalar y alineado con la gravedad. (If6f11, b/458173423) - 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 agregó
JvmOverloadsaFloatSize2d.to3d,Matrix3.copyyMatrix4.copy(I69586, b/481371562). - Se agregó la capacidad de establecer categorías para el seguimiento de
AugmentedObjecten la configuración (I1f6e4, b/480220930). - Se agregó el módulo
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
Versión 1.0.0-alpha11
25 de febrero de 2026
Lanzamiento de androidx.xr.runtime:runtime-*:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.
Cambios en la API
- Se restringió la interfaz
ConfigModepara uso interno (Ibfb87). - Se movió
androidx.xr.runtime.Config.GeospatialModeal nivel del paquete (Ibe682). - Se movió
androidx.xr.runtime.Config.FaceTrackingModeal nivel del paquete (Iac501). - Se movió
androidx.xr.runtime.Config.AnchorPersistenceModeal nivel del paquete (I0360f). - Se movió
androidx.xr.runtime.Config.DepthEstimationModeal nivel del paquete (I7e3e9). - Se movió
androidx.xr.runtime.Config.DeviceTrackingModeal nivel del paquete (I3aacd). - Se movió
androidx.xr.runtime.Config.HandTrackingModeal nivel del paquete (I658f3). - Se movió
androidx.xr.runtime.Config.PlaneTrackingModeal nivel del paquete (Ia251b). - Se movió
androidx.xr.runtime.XrDevice.DisplayBlendModeal nivel del paquete (I6f333). - Se agregó un método de fábrica para crear un
XrDevicecon un contexto, una sesión y unCoroutineContext. (I139c5) - Se agregó
SpatialApiVersionHelperpara ayudar a consultar la versión del entorno de ejecución de Android XR disponible en la plataforma. (I7c53c) - Se agregó el módulo
xr:runtime:runtime-openxr(Ib42ea).
Versión 1.0.0-alpha10
28 de enero de 2026
Lanzamiento de androidx.xr.runtime:runtime-*:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.
Cambios en la API
ConfigMode.HeadTrackingModese reemplazó porConfigMode.DeviceTrackingMode. (le273e, b/467150206)- Se quitaron los métodos
toNormalized,times(float)ydiv(float)de Quaternion. Estos métodos son redundantes, ya que todos los cuaterniones se normalizan en el momento de la construcción y la clase es inmutable. (l558fc, b/460210457)
Correcciones de errores
- Se agregó documentación a
Session.createque ilustra cómo evitar la creación de una sesión en el subproceso principal de la aplicación. (le5554, b/463687170) - Se impidió que las aplicaciones crearan un
BoundingBoxcon un valorNaN. (l58c14, b/464025895)
Versión 1.0.0-alpha09
3 de diciembre de 2025
Lanzamiento de androidx.xr.runtime:runtime-*: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.runtime:runtime-*:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.
Nuevas funciones
- Se agregó
XrDevicepara proporcionar información sobre las capacidades del dispositivo. (Ic9d1f) - Se agregó la nueva API
ConfigMode.isSupportedpara consultar las capacidades de la sesión. (Iff7af) - Se agregó la API
XrDisplay.BlendMode. (I484e4)
Cambios en la API
- Se cambió el nombre de [XrDevice.getPreferredBlendMode] por [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
Versión 1.0.0-alpha07
22 de octubre de 2025
Lanzamiento de androidx.xr.runtime:runtime-*:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.
Cambios en la API
- Quita
SessionConfigureConfigureNotSupportedy reemplázalo porUnsupportedOperationException. (I7680f)
Versión 1.0.0-alpha06
24 de septiembre de 2025
Lanzamiento de androidx.xr.runtime:runtime-*:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.
Cambios en la API
HandJointTypese movió axr:arcore:arcoredesdexr:runtime:runtime. (Iadb9c, b/409058039)- Se cambió el operador de veces para
componentWiseMultiplicationparaVector2,Vector3yVector4para escalar y quitar el símbolo del operador para la coherencia con otras bibliotecas de matemáticas. También se quitócomponentWiseDivisionde las clases de Vector en lugar de usarVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Se agregó [unscaled] para mostrar una matriz con una escala de uno. (I6381d, b/434928658)
- Se quitará
:xr:runtime:runtime-guava, ya queCoroutines.ktse reemplazó porSuspendtoFutureAdapter. (I0cd3c, b/406597902)
Versión 1.0.0-alpha05
30 de julio de 2025
Lanzamiento de androidx.xr.runtime:runtime-*:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.
Nuevas funciones
- Se agregaron
HandJointTypeyTrackingState. (I55880, b/334645808) - Se hizo pública la implementación de Config. (I95860, b/334645808)
- Se introdujeron los nuevos tipos
SessionCreateResultySessionConfigureResult. (Icb8cb, b/334645808) - Se agregó una nueva clase
BoundingBoxque representa un cuadro delimitador alineado con el eje en el espacio 3D, definido por sus puntos de esquina mínimos y máximos. (Ic68c5, b/423073468)
Cambios en la API
- Se cambió el nombre y se movió
androidx.xr.scenecore.PixelDimensionsaandroidx.xr.runtime.math.IntSize2d. Se cambió el nombre y se movióandroidx.xr.scenecore.Dimensionsaandroidx.xr.runtime.math.FloatSize3d. Se cambió el nombre deandroidx.xr.scenecore.PlaneTypeporandroidx.xr.scenecore.PlaneOrientation. Se cambió el nombre deandroidx.xr.scenecore.PlaneSemanticporandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228) - Se quitó la clase
androidx.xr.runtime.FoV. Usaandroidx.xr.runtime.FieldOfViewen su lugar. (I9ae27) - Se agregó una sobrecarga adicional para
Session.createque puede proporcionar unLifecycleOwnerpara que se adjunte a la sesión. Ten en cuenta que, de todas formas, se deberá proporcionar una actividad para la propiedad de recursos, y elLifecycleOwnerdebe estar dentro del alcance de la actividad. (I1690b) - Se cambió el nombre de
FakeRuntimeAnchor.anchorsCreatedporanchorsCreatedCount(I96df9, b/424441218). - Se cambió el nombre de los valores de Config
*Modepara reflejar su comportamiento. (I6d247, b/414648065) - Los proyectos lanzados con Kotlin 2.0 requieren que se consuma KGP 2.0.0 o una versión posterior (Idb6b5, b/344563182).
- Las APIs relacionadas con las cadenas de manifiesto se movieron de
:xr:runtime:runtimea:xr:runtime:runtime-manifest. El nombre del paquete cambió deandroidx.xr.runtimeaandroidx.xr.runtime.manifest. (I610ad, b/418800249) - Se quitaron
Session.resume(),Session.pause()ySession.destroy()de la superficie de la API. La sesión ya no es unLifecycleOwner. El ciclo de vida de la sesión ahora se adjuntará al ciclo de vida de la actividad que se pasa enSession.create(). (I28a03) - 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). - El artefacto principal del entorno de ejecución (
:xr:runtime:runtime) solo contendrá APIs asíncronas de estilo Kolin. Los desarrolladores de Java pueden depender de:xr:runtime:runtime-guavapara acceder a las APIs compatibles. (I05d4a, b/426639315) - El artefacto principal del entorno de ejecución (
:xr:runtime:runtime) solo contendrá APIs asíncronas de estilo Kotlin. Los desarrolladores de Java pueden depender de la bibliotecaxr:runtime:runtime-rxjava3para acceder a las APIs compatibles. (I64122, b/426639775) - Mueve las corrutinas a
:xr:runtime:runtime-guavay los flujos a:xr:runtime:runtime-rxjava3. (I60ae9) Session.createySession.configureahora arrojanSecurityExceptioncuando no se otorgaron permisos suficientes en lugar de mostrarSessionCreatePermissionsNotGrantedoSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Versión 1.0.0-alpha04
7 de mayo de 2025
Lanzamiento de androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 y androidx.xr.runtime:runtime-testing:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- La sesión ahora implementa
androidx.lifecycle.LifecycleOwnerpara una mayor interoperabilidad con los paradigmas existentes del ciclo de vida de Android. - Las cadenas de manifiesto para Android XR se especifican y documentan aquí.
- Se agregaron métodos de extensión de devolución de llamada de visibilidad espacial para supervisar cuándo se mueve el contenido de la escena dentro o fuera del campo de visión del usuario.
- Se agregó una versión de stub de
JxrPlatformAdapter(y todas sus clases relacionadas). - La sesión se usará en
SceneCorey en el entorno de ejecución en lugar de la sesión enSceneCore. - Se agregó
ActivityPose.hitTest, lo que permite unhitTestcontra contenido virtual. - Ahora se admite la especificación de varias implementaciones del entorno de ejecución en el momento de la compilación. Solo se cargará una en el tiempo de ejecución según el conjunto de funciones del dispositivo actual.
- Se agregó el nuevo tipo de componente
SpatialPointerComponent, lo que permite a los clientes especificar el ícono renderizado para el puntero o inhabilitarlo. Actualmente, este componente solo se puede adjuntar a instancias dePanelEntity.
Cambios en la API
- Se hizo pública la implementación de Config. (I95860)
- Se agregaron
HandJointTypeyTrackingState. (I55880) - Los proyectos lanzados con Kotlin 2.0 requieren que se consuma KGP 2.0.0 o una versión posterior (Idb6b5).
Hand.isActive (boolean)se cambió aHand.trackingState. La implementación deOpenXRse modificó en consecuencia.- El requisito de permiso
android.permission.SCENE_UNDERSTANDINGenSession.configurese cambió aandroid.permission.SCENE_UNDERSTANDING_COARSE. - Se implementa
LifecycleManager.configurey ahora pasa un objetoConfigque contiene una propiedad para cada función configurable del entorno de ejecución. - Ahora se puede llamar a
Session.configurecon unConfigpara configurar las funciones disponibles del entorno de ejecución. Session.createahora admite el paso de unCoroutineContexten lugar de unCoroutineDispatcher.Session.createadmite la carga deARCorepara Jetpack XR oSceneCore. Se debe proporcionar al menos uno (las versiones de prueba están disponibles).FakePerceptionManagerarroja unaAnchorInvalidUuidExceptioncuando se pasa un UUID no válido aAnchor.loadyAnchor.unpersist.CoreStateya no es una clase de datos.
Correcciones de errores
- Se corrigieron las configuraciones de ProGuard del entorno de ejecución.
Versión 1.0.0-alpha03
26 de febrero de 2025
Lanzamiento de androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 y androidx.xr.runtime:runtime-testing: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.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 y androidx.xr.runtime:runtime-testing:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Cambios rotundos y de comportamiento
- Las funciones del entorno de ejecución de
OpenXRque muestran un anclaje ahora arrojanAnchorResourcesExhaustedExceptionsi encuentran un código de error que notifica que se alcanzó el límite de recursos deOpenXR. - Ahora se requiere el permiso
android.permission.HAND_TRACKINGparaSession.createySession.resume.
Nuevas funciones
- Se agregó compatibilidad con el seguimiento de manos.
Correcciones de errores
- La creación de anclajes es más estable cuando se ejecuta en un emulador.
Versión 1.0.0-alpha01
12 de diciembre de 2024
Lanzamiento de androidx.xr.runtime:runtime-* 1.0.0-alpha01.
Funciones de la versión inicial
Versión inicial del entorno de ejecución de Jetpack XR. Esta biblioteca contiene elementos fundamentales de funcionalidad para el conjunto de bibliotecas de Jetpack XR. Esto incluye el descubrimiento de capacidades, la administración del ciclo de vida, la configuración y mucho más. La biblioteca del entorno de ejecución proporciona diferentes variaciones (p.ej., runtime-openxr o runtime-testing) según la plataforma de ejecución. Además, esta biblioteca ofrece abstracciones matemáticas fundamentales, como Vector3 y Matrix4, que se usan en toda la superficie de la API de Jetpack XR.
Session: Te proporciona controles detallados sobre el sistema XR, incluida la decisión de cuándo se ejecuta el procesamiento y cuándo no, y la configuración general. También es el controlador que usarás en todas las demás APIs para desbloquear las capacidades del sistema subyacente.Pose: Es una ubicación en un sistema de coordenadas arbitrario que tiene una posición y una orientación asociadas. Usarás esta clase para comunicar la ubicación de los objetos con ARCore para Jetpack XR y Jetpack SceneCore.
Errores conocidos
configureactualmente no es una operación. Las versiones futuras agregarán parámetros de configuración nuevos que puedes usar para controlar el comportamiento deSession.