Actualizaciones del SDK de Android XR: Presentamos la versión preliminar para desarrolladores 4
Lectura de 5 min
Hoy nos complace lanzar la versión preliminar para desarrolladores 4 del SDK de Android XR, con lo que continuamos nuestro enfoque en unificar el desarrollo multidispositivo para visores, lentes de RE con cable y lentes inteligentes. Para que nuestra plataforma siga siendo intuitiva, adoptaremos nombres más descriptivos para nuestros factores de forma, en los que los lentes con IA ahora son lentes con audio y los lentes con IA con pantalla ahora son lentes con pantalla. Estos cambios aparecerán en nuestra documentación a partir de hoy.
Esta versión incluye actualizaciones que te ayudan a crear experiencias increíbles para dispositivos de RE, habilitar experiencias inmersivas más profundas en visores de RE y optimizar el proceso de creación de experiencias aumentadas en lentes con audio y pantalla. Además, nuestras bibliotecas principales, como XR Runtime, Jetpack SceneCore y ARCore para Jetpack XR, pasarán oficialmente a la fase beta pronto.
Para brindarte acceso anticipado al hardware y los recursos necesarios para crear experiencias inmersivas y de realidad aumentada en los próximos dispositivos, como lentes con pantalla y audio, y el Project Aura de XREAL, anunciamos el Programa Android XR Developer Catalyst. Obtén más información y comienza tu postulación hoy mismo.
Cómo crear experiencias de realidad aumentada para lentes con audio y con pantalla
Para comenzar con nuestras bibliotecas de experiencias aumentadas, la Versión preliminar para desarrolladores 4 presenta nuevas APIs que te ayudan a crear y probar tus apps.
Jetpack Projected: APIs de Device Availability y ProjectedTestRule
La biblioteca de Jetpack Projected ayuda a conectar las experiencias en la app desde el teléfono hasta el campo visual del usuario. Agregamos la API de Device Availability, que consolida las señales de estado de uso y conectividad en valores estándar de Android Lifecycle.State. Esto te permite ajustar el comportamiento de tus aplicaciones en función de si se usa el dispositivo.
val xrDevice = XrDevice.getCurrentDevice(projectedContext) // Observe the device lifecycle flow xrDevice.getLifecycle().currentStateFlow .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is available (worn) */ } Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ } Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ } } }
Para simplificar las pruebas, la nueva API de ProjectedTestRule en el artefacto projected-testing automatiza la configuración de los entornos de pruebas proyectados. Esto te ayuda a escribir pruebas de unidades limpias y confiables sin el código estándar.
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact @get:Rule val projectedTestRule = ProjectedTestRule() @Test fun testProjectedContextInitialization() { // by default, ProjectedTestRule automatically creates and connects // a projected device before each test val projectedContext = ProjectedContext.createProjectedDeviceContext(context) // assert the projected context is successfully initialized assertThat(projectedContext).isNotNull() }
Jetpack Compose Glimmer: Google Sans Flex y nuevos componentes
Nuestra biblioteca de IU para lentes con pantalla, Jetpack Compose Glimmer, ahora incluye Google Sans Flex para mejorar la legibilidad en pantallas ópticas transparentes. También agregamos varios componentes interactivos:
- Pilas: Diseñadas para grupos optimizados para paneles táctiles, muestran un elemento a la vez.
- Chips de título: Proporcionan categorización y contexto para las tarjetas de contenido.
Crea experiencias inmersivas para visores de RE y lentes de RE con cable
Si quieres crear experiencias completamente inmersivas para visores de RE y lentes de RE con cable, tenemos varias actualizaciones importantes.
Transición de la versión beta y arquitectura moderna
El entorno de ejecución de XR, Jetpack SceneCore y las funciones de percepción de ARCore para Jetpack XR (mapas de profundidad, seguimiento ocular y de manos, pruebas de posicionamiento y anclajes espaciales) pronto pasarán a la versión beta, por lo que optimizamos las APIs de Jetpack XR. Quitamos los paquetes heredados de Guava y RxJava3 para dar paso a una arquitectura moderna que prioriza Kotlin.
Jetpack SceneCore: glTF y mallas personalizadas
Estamos expandiendo las capacidades de los modelos 3D con la posibilidad de ajustarlos y acceder a nodos específicos con un modelo 3D. Con GltfModelNode, puedes modificar propiedades como la pose, los materiales y las texturas, y hasta ejecutar animaciones para nodos específicos.
// Create a new PBR material pbrMaterial = KhronosPbrMaterial.create( session = xrSession, alphaMode = AlphaMode.OPAQUE ) // Load a texture. val texture = Texture.create( session = xrSession, path = Path("textures/texture_name.png") ) // Apply the texture and configure occlusion to define how the material handles ambient lighting. pbrMaterial.setOcclusionTexture( texture = texture, strength = 0.5f ) // Access the hierarchy of nodes within the model entity. val entityNodes = entity.nodes // Find the specific node to apply the material override. val myEntityNode = entityNodes.find { it.name == "node_name" } // Apply the PBR material to the node. myEntityNode?.setMaterialOverride( material = newMaterial )
También incorporaremos mallas personalizadas a SceneCore. Las mallas personalizadas te permiten crear geometría sobre la marcha de forma programática, lo que es ideal para crear modelos 3D personalizados. Esta función se lanzará como experimental, así que pruébala y danos tu opinión.
// Create the mesh val roadMesh = CustomMesh.BuilderFromMeshData(session, roadVertexLayout) .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize)) .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize)) .setTopology(MeshSubsetTopology.TRIANGLES) .build() // Define the material val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE) // Instantiate the entity using the custom mesh and material val roadEntity = MeshEntity.create( session, roadMesh, listOf(roadMaterial), pose = roadPose, )
Compose para RE: Compatibilidad nativa con glTF
Ahora, contamos con compatibilidad nativa con glTF directamente en Compose para XR con SpatialGltfModel. Usa esto junto con SpatiallGltfModelState para acceder a nodos y animaciones en el modelo de glTF, o úsalos para agregar texturas y materiales a tus modelos 3D.
val myGltfModelState = rememberSpatialGltfModelState( source = SpatialGltfModelSource.fromPath( Paths.get("models/my_animated_model.glb") ) ) val myGltfAnimation = myGltfModelState.animations.find { it.name == "animation_name" } DisposableEffect(myGltfAnimation) { myGltfAnimation?.loop() onDispose { myGltfAnimation?.stop() } } SpatialGltfModel(state = myGltfModelState, modifier = modifier)
ARCore para Jetpack XR: Versión preliminar de la API de Geospatial para lentes de realidad extendida con cable
También proporcionamos una versión preliminar anticipada de la API de Geospatial para lentes de RE con cable en ARCore para Jetpack XR. Esta actualización permite fijar contenido digital con alta precisión en ubicaciones del mundo real en más de 87 países.
Si combinas el sistema de posicionamiento visual (VPS) de ARCore con las capacidades de razonamiento y audio de la API de Gemini Live, puedes crear experiencias contextuales que comprendan tanto la ubicación como la posición del usuario. Imagina que creas un recorrido a pie inmersivo guiado por IA que proporciona audiodescripciones en tiempo real de lugares cercanos, combinando sin problemas la información digital con el entorno físico.
Comienza a construir el futuro hoy mismo
Es un momento increíble para desarrollar para Android XR. Con el SDK de Jetpack XR que pronto pasará a la versión beta y un conjunto sólido de herramientas nuevas a tu alcance, explora cada una de las siguientes áreas para preparar las experiencias de tu app para la realidad extendida.
Lee la documentación, explora las muestras y consulta los experimentos de RE
Visita el sitio oficial para desarrolladores de Android para obtener guías técnicas completas, referencias de la API e instrucciones para configurar el nuevo emulador. Inspírate con nuestras muestras y experimentos. Descubre cómo usamos estas APIs para crear diseños espaciales envolventes, cargar modelos en 3D, explorar el audio espacial y mucho más.
Descubre las novedades para los motores de juegos
Agregamos compatibilidad oficial con Unreal Engine y Godot, y lanzamos dos herramientas nuevas para acelerar el desarrollo para Android XR con Unity y el Android XR Interaction Framework. Además, según sus comentarios, presentamos el Android XR Engine Hub para que puedan ejecutar sus experiencias directamente desde su motor preferido,
Postúlate para el Android XR Developer Catalyst Program
No te pierdas la oportunidad de crear contenido para el hardware de Android XR más reciente. Postúlate hoy para tener la oportunidad de acceder a hardware previo al lanzamiento, incluidos nuestros prototipos de lentes con audio y pantalla, y el Project Aura de XREAL.
Obtén más información y postúlate hoy mismo
Esperamos ver las increíbles experiencias de RE que crees a medida que nos acercamos al lanzamiento de más dispositivos Android XR más adelante este año.
Explora este anuncio y todas las actualizaciones de Google I/O 2026 en io.google.
-
Novedades de productosDesde que presentamos el SDK de Android XR, los desarrolladores han transformado sus ideas en experiencias inmersivas innovadoras en visores y lentes de realidad extendida con cable.
Amy Zeppenfeld, Greg Underwood, Yasmine Evjen • Lectura de 2 min -
Novedades de productosDesde la inmersión total en casa hasta las experiencias de un vistazo en cualquier lugar, compilar en Android XR te permite llegar a los usuarios en cualquier momento en todo el espectro de aplicaciones espaciales. En la Cumbre de Android Developers, alcanzamos un hito emocionante con el lanzamiento de XREAL AURA.
Amy Zeppenfeld, Vinny DaSilva • Lectura de 3 min -
Novedades de productosDesde superposiciones aumentadas hasta entornos completamente envolventes, el ecosistema de Android XR se está expandiendo rápidamente, y el Samsung Galaxy XR ya está disponible.
Stevan Silva, Vinny DaSilva • Lectura de 2 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.