Entorno de ejecución de XR

Inicia tu sesión personalizada de RA o 3D con nuestro entorno de ejecución nativo.
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.

Crear un error nuevo

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.augmentedObjectCategories de una lista a un conjunto (I25a64, b/487376359).
  • Se quitó la marca unscaledGravityAlignedActivitySpace de Session.create. ActivitySpace ahora siempre está sin escalar y alineado con la gravedad. (If6f11, b/458173423)
  • Se agregó una sobrecarga de Session.create para permitir el paso de un contexto de Android para el alcance de recursos. (I7d3fe, b/415805990, b/477386334)
  • Se agregó JvmOverloads a FloatSize2d.to3d, Matrix3.copy y Matrix4.copy (I69586, b/481371562).
  • Se agregó la capacidad de establecer categorías para el seguimiento de AugmentedObject en 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 ConfigMode para uso interno (Ibfb87).
  • Se movió androidx.xr.runtime.Config.GeospatialMode al nivel del paquete (Ibe682).
  • Se movió androidx.xr.runtime.Config.FaceTrackingMode al nivel del paquete (Iac501).
  • Se movió androidx.xr.runtime.Config.AnchorPersistenceMode al nivel del paquete (I0360f).
  • Se movió androidx.xr.runtime.Config.DepthEstimationMode al nivel del paquete (I7e3e9).
  • Se movió androidx.xr.runtime.Config.DeviceTrackingMode al nivel del paquete (I3aacd).
  • Se movió androidx.xr.runtime.Config.HandTrackingMode al nivel del paquete (I658f3).
  • Se movió androidx.xr.runtime.Config.PlaneTrackingMode al nivel del paquete (Ia251b).
  • Se movió androidx.xr.runtime.XrDevice.DisplayBlendMode al nivel del paquete (I6f333).
  • Se agregó un método de fábrica para crear un XrDevice con un contexto, una sesión y un CoroutineContext. (I139c5)
  • Se agregó SpatialApiVersionHelper para 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.HeadTrackingMode se reemplazó por ConfigMode.DeviceTrackingMode. (le273e, b/467150206)
  • Se quitaron los métodos toNormalized, times(float) y div(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.create que 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 BoundingBox con un valor NaN. (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ó XrDevice para proporcionar información sobre las capacidades del dispositivo. (Ic9d1f)
  • Se agregó la nueva API ConfigMode.isSupported para 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 SessionConfigureConfigureNotSupported y reemplázalo por UnsupportedOperationException. (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

  • HandJointType se movió a xr:arcore:arcore desde xr:runtime:runtime. (Iadb9c, b/409058039)
  • Se cambió el operador de veces para componentWiseMultiplication para Vector2, Vector3 y Vector4 para escalar y quitar el símbolo del operador para la coherencia con otras bibliotecas de matemáticas. También se quitó componentWiseDivision de las clases de Vector en lugar de usar Vector.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 que Coroutines.kt se reemplazó por SuspendtoFutureAdapter. (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 HandJointType y TrackingState. (I55880, b/334645808)
  • Se hizo pública la implementación de Config. (I95860, b/334645808)
  • Se introdujeron los nuevos tipos SessionCreateResult y SessionConfigureResult. (Icb8cb, b/334645808)
  • Se agregó una nueva clase BoundingBox que 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.PixelDimensions a androidx.xr.runtime.math.IntSize2d. Se cambió el nombre y se movió androidx.xr.scenecore.Dimensions a androidx.xr.runtime.math.FloatSize3d. Se cambió el nombre de androidx.xr.scenecore.PlaneType por androidx.xr.scenecore.PlaneOrientation. Se cambió el nombre de androidx.xr.scenecore.PlaneSemantic por androidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)
  • Se quitó la clase androidx.xr.runtime.FoV. Usa androidx.xr.runtime.FieldOfView en su lugar. (I9ae27)
  • Se agregó una sobrecarga adicional para Session.create que puede proporcionar un LifecycleOwner para 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 el LifecycleOwner debe estar dentro del alcance de la actividad. (I1690b)
  • Se cambió el nombre de FakeRuntimeAnchor.anchorsCreated por anchorsCreatedCount (I96df9, b/424441218).
  • Se cambió el nombre de los valores de Config *Mode para 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:runtime a :xr:runtime:runtime-manifest. El nombre del paquete cambió de androidx.xr.runtime a androidx.xr.runtime.manifest. (I610ad, b/418800249)
  • Se quitaron Session.resume(), Session.pause() y Session.destroy() de la superficie de la API. La sesión ya no es un LifecycleOwner. El ciclo de vida de la sesión ahora se adjuntará al ciclo de vida de la actividad que se pasa en Session.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-guava para 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 biblioteca xr:runtime:runtime-rxjava3 para acceder a las APIs compatibles. (I64122, b/426639775)
  • Mueve las corrutinas a :xr:runtime:runtime-guava y los flujos a :xr:runtime:runtime-rxjava3. (I60ae9)
  • Session.create y Session.configure ahora arrojan SecurityException cuando no se otorgaron permisos suficientes en lugar de mostrar SessionCreatePermissionsNotGranted o SessionConfigurePermissionsNotGranted. (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.LifecycleOwner para 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 SceneCore y en el entorno de ejecución en lugar de la sesión en SceneCore.
  • Se agregó ActivityPose.hitTest, lo que permite un hitTest contra 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 de PanelEntity.

Cambios en la API

  • Se hizo pública la implementación de Config. (I95860)
  • Se agregaron HandJointType y TrackingState. (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ó a Hand.trackingState. La implementación de OpenXR se modificó en consecuencia.
  • El requisito de permiso android.permission.SCENE_UNDERSTANDING en Session.configure se cambió a android.permission.SCENE_UNDERSTANDING_COARSE.
  • Se implementa LifecycleManager.configure y ahora pasa un objeto Config que contiene una propiedad para cada función configurable del entorno de ejecución.
  • Ahora se puede llamar a Session.configure con un Config para configurar las funciones disponibles del entorno de ejecución.
  • Session.create ahora admite el paso de un CoroutineContext en lugar de un CoroutineDispatcher.
  • Session.create admite la carga de ARCore para Jetpack XR o SceneCore. Se debe proporcionar al menos uno (las versiones de prueba están disponibles).
  • FakePerceptionManager arroja una AnchorInvalidUuidException cuando se pasa un UUID no válido a Anchor.load y Anchor.unpersist.
  • CoreState ya 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 OpenXR que muestran un anclaje ahora arrojan AnchorResourcesExhaustedException si encuentran un código de error que notifica que se alcanzó el límite de recursos de OpenXR.
  • Ahora se requiere el permiso android.permission.HAND_TRACKING para Session.create y Session.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

  • configure actualmente no es una operación. Las versiones futuras agregarán parámetros de configuración nuevos que puedes usar para controlar el comportamiento de Session.