Entorno de ejecución de XR
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 22 de octubre de 2025 | - | - | - | 1.0.0-alpha07 |
Cómo declarar dependencias
Para agregar una dependencia en el tiempo 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-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
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-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
- Se movió
HandJointTypedexr:runtime:runtimeaxr:arcore:arcore. (Iadb9c, b/409058039) - Se cambió el operador de multiplicación para
componentWiseMultiplicationporVector2,Vector3yVector4para escalar y quitar el símbolo del operador para mantener la coherencia con otras bibliotecas matemáticas. También se quitacomponentWiseDivisionde las clases Vector en lugar de usarVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Agregar [sin ajustar] para devolver una matriz con una escala de uno (I6381d, b/434928658)
- Se quitará
:xr:runtime:runtime-guava, ya que se reemplazó porSuspendtoFutureAdapter.Coroutines.kt(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
- Agrega
HandJointTypeyTrackingState. (I55880, b/334645808) - Haz pública la implementación de Config. (I95860, b/334645808)
- Se introdujeron nuevos tipos de
SessionCreateResultySessionConfigureResult. (Icb8cb, b/334645808) - Se agregó una nueva clase
BoundingBoxque representa una caja delimitadora alineada con el eje en el espacio 3D, definida por sus puntos de esquina mínimos y máximos. (Ic68c5, b/423073468)
Cambios en la API
- Se cambió el nombre de
androidx.xr.scenecore.PixelDimensionsaandroidx.xr.runtime.math.IntSize2dy se trasladó. Se cambió el nombre deandroidx.xr.scenecore.Dimensionsaandroidx.xr.runtime.math.FloatSize3dy se trasladó. Se cambió el nombre deandroidx.xr.scenecore.PlaneTypeaandroidx.xr.scenecore.PlaneOrientation. Se cambió el nombre deandroidx.xr.scenecore.PlaneSemanticaandroidx.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 del recurso y que elLifecycleOwnerdebe estar dentro del alcance de la actividad. (I1690b) - Se cambió el nombre de
FakeRuntimeAnchor.anchorsCreatedaanchorsCreatedCount(I96df9, b/424441218). - Se cambiaron los nombres 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 pasó 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 de Runtime (
:xr:runtime:runtime) solo contendrá APIs asíncronas de estilo Kotlin. Los desarrolladores de Java pueden depender de:xr:runtime:runtime-guavapara acceder a las APIs compatibles. (I05d4a, b/426639315) - El artefacto principal de Runtime (
: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) - Ahora
Session.createySession.configurearrojanSecurityExceptioncuando no se otorgaron los permisos suficientes, en lugar de devolverSessionCreatePermissionsNotGrantedoSessionConfigurePermissionsNotGranted. (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
- Ahora, Session 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 el contenido de la escena se mueve dentro o fuera del campo de visión del usuario.
- Se agregó una versión de código auxiliar de
JxrPlatformAdapter(y todas sus clases relacionadas). - La sesión se usará tanto en
SceneCorecomo en el tiempo de ejecución, en lugar de la sesión enSceneCore. - Se agregó
ActivityPose.hitTest, lo que permite unhitTestcontra el contenido virtual. - Ahora se admite la especificación de varias implementaciones de Runtime en el momento de la compilación. Solo se cargará uno en el tiempo de 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 inhabilitar el ícono. Actualmente, este componente solo se puede adjuntar a instancias dePanelEntity.
Cambios en la API
- Haz pública la implementación de Config. (I95860)
- Agrega
HandJointTypeyTrackingState. (I55880) - Los proyectos lanzados con Kotlin 2.0 requieren que se consuma KGP 2.0.0 o una versión posterior (Idb6b5).
- Se cambió
Hand.isActive (boolean)porHand.trackingState. La implementación deOpenXRse modificó según corresponda. - El requisito de permiso de
android.permission.SCENE_UNDERSTANDINGenSession.configurese cambió aandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configurese implementó y ahora pasa un objetoConfigque contiene una propiedad para cada función de tiempo de ejecución configurable.- Ahora se puede llamar a
Session.configurecon unConfigpara configurar las funciones disponibles en el tiempo 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 (hay versiones de prueba disponibles).FakePerceptionManagerarroja unAnchorInvalidUuidExceptioncuando 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 de tiempo de ejecución de
OpenXRque devuelven un Anchor 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 monitoreo 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
Se lanzó la versión inicial de Jetpack XR Runtime. Esta biblioteca contiene elementos fundamentales de funcionalidad para el conjunto de bibliotecas de Jetpack XR. Esto incluye la detección de capacidades, la administración del ciclo de vida, la configuración y mucho más. La biblioteca 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 de XR, lo que incluye decidir cuándo se ejecuta el procesamiento y cuándo no, y la configuración general. También es el identificador que usarás en todas las demás APIs para desbloquear las capacidades 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,
configureno realiza ninguna operación. En versiones futuras, se agregarán nuevos parámetros de configuración que podrás usar para controlar el comportamiento deSession.