谷歌发布Android XR SDK开发者预览版4,并更新设备命名规范
AI眼镜现在称为音频眼镜;而带显示屏的AI眼镜则统称为显示眼镜
(映维网Nweon 2026年05月20日)谷歌日前发布了Android XR SDK的全新开发者预览版,继续聚焦于统一头戴设备、有线XR眼镜和智能眼镜的跨设备开发。
谷歌进一步强调,将对各类设备形态采用更具描述性的命名:AI眼镜现在称为音频眼镜(Audio Glasses);而带显示屏的AI眼镜则统称为显示眼镜(Display Glasses)。相关变化已在谷歌开发者文档中体现。

Developer Preview 4包含大量更新,目标是帮助你为XR设备构建出色的体验,在XR头戴设备实现更深入的沉浸式体验,并简化在音频眼镜和显示眼镜创建增强体验的路径。同时,包括XR Runtime、Jetpack SceneCore和ARCore for Jetpack XR的核心库将很快正式进入Beta阶段。
为音频眼镜和显示眼镜构建增强体验
从用于增强体验的库开始,开发者预览版4引入了新的API,以帮助你创建和测试应用。
Jetpack Projected库有助于将应用体验从手机无缝衔接到用户的视场中。团队新增了设备Device Availability API,将佩戴状态和连接信号整合到标准的Android Lifecycle.State值中。这允许你根据用户是否佩戴设备来调整应用行为。
val xrDevice = XrDevice.getCurrentDevice(projectedContext)// Observe the device lifecycle flowxrDevice.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 */ } } }为了简化测试,projected-testing中的新ProjectedTestRule API可以自动设置投影测试环境。这有助于编写简洁、可靠的单元测试,无需样板代码。
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact@get:Ruleval projectedTestRule = ProjectedTestRule()@Testfun 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()}为提高光学透视显示器的可读性,用于显示眼镜的UI库Jetpack Compose Glimmer现在包含了Google Sans Flex字体。谷歌同时添加了多个交互式组件:
Stacks:专为触控板优化的分组设计,一次只显示一个项目。
Title Chips:为内容卡片提供分类和上下文信息。
为XR头戴设备和有线XR眼镜构建沉浸式体验
如果你希望为XR头戴设备和有线XR眼镜构建完全沉浸式体验,下面是值得注意的重大更新。
Beta过渡与现代架构:XR Runtime、Jetpack SceneCore以及ARCore for Jetpack XR 的感知功能即将进入Beta阶段,所以团队简化了Jetpack XR API。他们移除了传统的Guava和RxJava3包,转而采用现代的、以Kotlin优先的架构。
Jetpack SceneCore:glTF和自定义网格:团队正在扩展3D模型的能力,新增了微调3D模型并访问3D模型中特定节点的功能。使用GltfModelNode,你可以修改姿态、材质、纹理等属性,甚至可以针对特定节点运行动画。
// Create a new PBR materialpbrMaterial = 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 occlusionpbrMaterial.setOcclusionTexture( texture = texture, strength = 0.5f)// Access the hierarchy of nodesval entityNodes = entity.nodes// Find the specific nodeval myEntityNode = entityNodes.find { it.name == "node_name" }// Apply the PBR material overridemyEntityNode?.setMaterialOverride( material = newMaterial)谷歌同时为SceneCore带来了自定义网格,允许你以编程方式动态构建几何体。所述功能将作为实验性功能发布,欢迎试用并分享你的想法。
// Create the meshval roadMesh = CustomMesh.BuilderFromMeshData(session, roadVertexLayout) .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize)) .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize)) .setTopology(MeshSubsetTopology.TRIANGLES) .build()// Define the materialval roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE)// Instantiate the entity using the custom mesh and materialval roadEntity = MeshEntity.create( session, roadMesh, listOf(roadMaterial), pose = roadPose,)
Compose for XR:原生glTF支持
在Compose for XR中,现在通过SpatialGltfModel直接支持原生glTF。结合SpatialGltfModelState使用,你可以访问glTF模型中的节点和动画,或者为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 for Jetpack XR:面向有线XR眼镜的地理空间API预览
谷歌同时在ARCore for Jetpack XR中为有线XR眼镜提供了地理空间API的早期预览,支持将数字内容高精度锚定到超过87个国家和地区的真实世界位置。
通过将ARCore的视觉定位系统与Gemini Live API的推理和音频能力相结合,你可以创建具有上下文感知能力的体验,同时理解用户的位置和姿态。想象一下,构建一个沉浸式、AI导览的步行游览体验,实时提供附近景点的音频描述,将数字信息与物理环境无缝融合。
值得一提的是,谷歌已增加对Unreal Engine和Godot的官方支持,并推出两款新工具用于通过Unity和Android XR Interaction Framework加速Android XR开发。另外,新推出的Android XR Engine Hub允许你直接从喜爱的引擎中运行体验。

