Wir freuen uns, heute die vierte Entwicklervorschau des Android XR SDK zu veröffentlichen. Damit setzen wir unseren Fokus auf die geräteübergreifende Entwicklung für Headsets, kabelgebundene XR-Brillen und smarte Brillen fort. Damit unsere Plattform intuitiv bleibt, verwenden wir für unsere Formfaktoren beschreibendere Namen. KI-Brillen sind jetzt Audiobrillen und KI-Brillen mit Display sind jetzt Brillen mit Display. Diese Änderungen werden ab heute in unserer Dokumentation angezeigt.
Diese Version enthält viele Updates, die Ihnen dabei helfen, beeindruckende Funktionen für XR-Geräte zu entwickeln, immersivere Funktionen auf XR-Headsets zu ermöglichen und die Entwicklung von Augmented Reality-Funktionen auf Audio- und Displaybrillen zu vereinfachen. Außerdem werden unsere Kernbibliotheken, darunter XR Runtime, Jetpack SceneCore und ARCore für Jetpack XR, bald offiziell in die Betaphase überführt.
Mit dem Android XR Developer Catalyst Program möchten wir euch frühzeitig Zugriff auf Hardware und Ressourcen für die Entwicklung immersiver und Augmented Reality-Anwendungen auf kommenden Geräten wie Datenbrillen und XREALs Project Aura ermöglichen. Weitere Informationen
Erstellen von Augmented Reality-Anwendungen für Audio- und Display-Brillen
Die vierte Entwicklervorschau enthält neue APIs, mit denen Sie Ihre Apps erstellen und testen können.
Jetpack Projected: APIs für Geräteverfügbarkeit und ProjectedTestRule
Die Jetpack Projected-Bibliothek trägt dazu bei, App-Funktionen vom Smartphone in das Sichtfeld des Nutzers zu übertragen. Wir haben die Device Availability API hinzugefügt,die Informationen zum Tragezustand und zu Verbindungen in standardmäßigen Android-Lifecycle.State-Werten zusammenfasst. So können Sie das Verhalten Ihrer Anwendungen anpassen, je nachdem, ob das Gerät getragen wird.
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 */ } } }
Um das Testen zu vereinfachen, wird mit der neuen ProjectedTestRule-API im Artefakt „projected-testing“ die Einrichtung von projizierten Testumgebungen automatisiert. So können Sie saubere, zuverlässige Unittests ohne Boilerplate-Code schreiben.
// 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 und neue Komponenten
Unsere UI-Bibliothek für Datenbrillen, Jetpack Compose Glimmer, enthält jetzt Google Sans Flex für eine bessere Lesbarkeit auf optisch transparenten Displays. Außerdem haben wir mehrere interaktive Komponenten hinzugefügt:
- Stapeln: Für Touchpad-optimierte Gruppen konzipiert, in denen jeweils ein Element angezeigt wird.
- Titel-Chips: Bieten Kategorisierung und Kontext für Contentkarten.
Immersive Erlebnisse für XR‑Headsets und kabelgebundene XR‑Datenbrillen entwickeln
Wenn Sie vollständig immersive Erlebnisse für XR‑Headsets und kabelgebundene XR‑Datenbrillen entwickeln möchten, haben wir einige wichtige Neuigkeiten für Sie.
Beta-Umstellung und moderne Architektur
Die XR-Laufzeit, Jetpack SceneCore und die ARCore-Wahrnehmungsfunktionen für Jetpack XR (Tiefenkarten, Blick-/Hand-Tracking, Treffertests und räumliche Anker) werden bald in die Betaphase überführt. Daher haben wir die Jetpack XR-APIs optimiert. Wir haben die alten Guava- und RxJava3-Pakete zugunsten einer modernen, Kotlin-basierten Architektur entfernt.
Jetpack SceneCore: glTF und benutzerdefinierte Meshes
Wir erweitern die Funktionen für 3D-Modelle, indem wir die Möglichkeit hinzufügen, 3D-Modelle abzustimmen und mit einem 3D-Modell auf bestimmte Knoten zuzugreifen. Mit GltfModelNode können Sie Eigenschaften wie Pose, Materialien und Texturen ändern und sogar Animationen für bestimmte Knoten ausführen.
// 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 )
Außerdem führen wir benutzerdefinierte Meshes in SceneCore ein. Mit benutzerdefinierten Meshes können Sie Geometrie programmatisch erstellen. Das ist ideal für benutzerdefinierte 3D-Modelle. Diese Funktion wird als experimentelle Funktion eingeführt. Probieren Sie sie aus und teilen Sie uns Ihre Meinung mit.
// 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 for XR: Native glTF-Unterstützung
Wir bieten jetzt native glTF-Unterstützung direkt in Compose for XR mit SpatialGltfModel. Verwenden Sie diese zusammen mit SpatiallGltfModelState, um auf Knoten und Animationen im glTF-Modell zuzugreifen oder Texturen und Materialien zu Ihren 3D-Modellen hinzuzufügen.
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 für Jetpack XR: Vorschau der Geospatial API für kabelgebundene XR-Datenbrillen
Außerdem bieten wir eine frühe Vorabversion der Geospatial API für kabelgebundene XR-Brillen in ARCore für Jetpack XR an. Mit diesem Update können digitale Inhalte, die mit realen Orten verknüpft sind, in über 87 Ländern hochpräzise verankert werden.
Durch die Kombination des Visual Positioning System (VPS) von ARCore mit den Reasoning- und Audiofunktionen der Gemini Live API können Sie kontextsensitive Anwendungen erstellen, die sowohl den Standort als auch die Position des Nutzers erkennen. Stellen Sie sich vor, Sie erstellen einen immersiven, KI-gestützten Rundgang, der in Echtzeit Audiobeschreibungen von Orten in der Nähe liefert und digitale Informationen nahtlos mit der physischen Umgebung verbindet.
Schon heute die Zukunft gestalten
Es ist eine aufregende Zeit, um für Android XR zu entwickeln. Das Jetpack XR SDK wechselt bald in die Betaphase und es steht Ihnen eine Vielzahl neuer Tools zur Verfügung. Sehen Sie sich die folgenden Bereiche an, um Ihre App für XR vorzubereiten.
Dokumentation lesen, Beispiele ansehen und XR-Tests ausprobieren
Auf der offiziellen Android-Entwicklerwebsite finden Sie vollständige technische Leitfäden, API-Referenzen und Anleitungen zum Einrichten des neuen Emulators. Lassen Sie sich von unseren Beispielen und Tests inspirieren. Sehen Sie sich an, wie wir diese APIs verwendet haben, um immersive räumliche Layouts zu erstellen, 3D-Modelle zu laden und Spatial Audio zu nutzen.
Neuigkeiten für Spiele-Engines
Wir haben die offizielle Unterstützung für Unreal Engine und Godot hinzugefügt und zwei neue Tools eingeführt, um die Entwicklung für Android XR mit Unity und dem Android XR Interaction Framework zu beschleunigen. Auf Grundlage Ihres Feedbacks führen wir den Android XR Engine Hub ein, mit dem Sie Ihre Anwendungen direkt über Ihre bevorzugte Engine ausführen können.
Für das Android XR Developer Catalyst Program bewerben
Nutzen Sie die Gelegenheit, für die neueste Android XR-Hardware zu entwickeln. Bewerben Sie sich noch heute und erhalten Sie Zugriff auf Hardware vor der Veröffentlichung, darunter unseren Prototyp für Audio- und Display-Brillen und Project Aura von XREAL.
Weitere Informationen und Anmeldung
Wir sind gespannt auf die tollen XR-Erlebnisse, die ihr entwickeln werdet, wenn wir im Laufe des Jahres weitere Android XR-Geräte auf den Markt bringen.
Weitere Informationen zu dieser Ankündigung und allen Google I/O 2026-Updates finden Sie unter io.google.
-
ProduktneuigkeitenSeit der Einführung des Android XR SDK haben Entwickler ihre Ideen in innovative immersive Erlebnisse auf Headsets und kabelgebundenen XR‑Datenbrillen umgesetzt.
Amy Zeppenfeld, Greg Underwood, Yasmine Evjen • Lesezeit: 2 Minuten -
ProduktneuigkeitenDas Android XR-Ökosystem wächst rasant – von Augmented-Overlays bis hin zu vollständig immersiven Umgebungen. Das Samsung Galaxy XR ist bereits heute verfügbar.
Stevan Silva, Vinny DaSilva • Lesezeit: 2 Minuten -
ProduktneuigkeitenWir freuen uns, Ihnen mitteilen zu können, dass Android XR jetzt offiziell Unreal Engine und Godot unterstützt. Außerdem führen wir neue Tools ein, mit denen Sie Ihre Produktivität steigern und neue XR-Funktionen nutzen können: den Android XR Engine Hub und das Android XR Interaction Framework.
Luke Hopkins, Ryan Bartley • Lesezeit: 4 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.