Entorno de ejecución de XR

Inicia tu sesión de RA o 3D personalizada con nuestro entorno de ejecución nativo.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
7 de mayo de 2025 - - - 1.0.0-alpha04

Cómo declarar dependencias

Para agregar una dependencia en el entorno de ejecución de 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.runtime:runtime:1.0.0-alpha04"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha04")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha04")
}

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-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 lograr una mayor interoperabilidad con los paradigmas de ciclo de vida existentes 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 el contenido de la escena se mueve 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 habilita un hitTest contra el contenido virtual.
  • Ahora se admite especificar varias implementaciones del entorno de ejecución en el tiempo de compilación. Solo se cargará uno en el momento de la ejecución según el conjunto de funciones del dispositivo actual.
  • Se agregó un nuevo tipo de componente SpatialPointerComponent, 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

  • Haz pública la implementación de Config. (I95860).
  • Se agregaron HandJointType y TrackingState. (I55880).
  • Los proyectos lanzados con Kotlin 2.0 requieren KGP 2.0.0 o una versión posterior para su consumo (Idb6b5).
  • Hand.isActive (boolean) cambió a Hand.trackingState. La implementación de OpenXR se modificó según corresponda.
  • El requisito de permiso android.permission.SCENE_UNDERSTANDING en Session.configure se cambió a android.permission.SCENE_UNDERSTANDING_COARSE.
  • Se implementó LifecycleManager.configure y ahora pasa un objeto Config que contiene una propiedad para cada función del entorno de ejecución configurable.
  • Ahora se puede llamar a Session.configure con un Config para configurar las funciones del entorno de ejecución disponibles.
  • Session.create ahora admite pasar 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 (hay versiones de prueba disponibles).
  • FakePerceptionManager arroja un 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 ancla 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 anclas 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

Lanzamiento inicial de Jetpack XR Runtime. Esta biblioteca contiene funciones fundamentales para el paquete 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 de Runtime 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 de XR, lo que incluye decidir cuándo se ejecuta y no se ejecuta el procesamiento, y la configuración general. También es el identificador que usarás en todas las demás APIs para desbloquear las funciones subyacentes del sistema.

  • 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

  • Actualmente, configure no realiza ninguna acción. En versiones futuras, se agregarán parámetros de configuración nuevos que puedes usar para controlar el comportamiento de Session.