XR-Laufzeit
| Letzte Aktualisierung | Stabile Version | Releasekandidat | Betarelease | Alpha-Release |
|---|---|---|---|---|
| 22. Oktober 2025 | - | - | - | 1.0.0-alpha07 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von der XR-Laufzeit hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem stimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0
Version 1.0.0-alpha07
22. Oktober 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
- Entfernen Sie
SessionConfigureConfigureNotSupportedund ersetzen Sie es durchUnsupportedOperationException. (I7680f)
Version 1.0.0-alpha06
24. September 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
API-Änderungen
HandJointTypewurde vonxr:runtime:runtimenachxr:arcore:arcoreverschoben. (Iadb9c, b/409058039)- Der Operator für die Multiplikation wird für
componentWiseMultiplicationinVector2,Vector3,Vector4geändert, um die Skalierung zu ermöglichen. Das Operatorsymbol wird entfernt, um die Konsistenz mit anderen mathematischen Bibliotheken zu gewährleisten. Außerdem wirdcomponentWiseDivisionaus den Vektorklassen entfernt und stattdessenVector.scale(otherVector.inverse())verwendet. (I8e1f6, b/399146447) - Wenn Sie [unscaled] hinzufügen, wird eine Matrix mit dem Skalierungsfaktor 1 zurückgegeben. (I6381d, b/434928658)
:xr:runtime:runtime-guavawird entfernt, daCoroutines.ktdurchSuspendtoFutureAdapterersetzt wurde. (I0cd3c, b/406597902)
Version 1.0.0-alpha05
30. Juli 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
- Fügen Sie
HandJointTypeundTrackingStatehinzu. (I55880, b/334645808) - Konfigurationsimplementierung öffentlich machen (I95860, b/334645808)
- Es wurden neue Typen für
SessionCreateResultundSessionConfigureResulteingeführt. (Icb8cb, b/334645808) - Fügen Sie eine neue
BoundingBox-Klasse hinzu, die einen achsenparallelen Begrenzungsrahmen im 3D-Raum darstellt, der durch seine minimalen und maximalen Eckpunkte definiert wird. (Ic68c5, b/423073468)
API-Änderungen
androidx.xr.scenecore.PixelDimensionswurde inandroidx.xr.runtime.math.IntSize2dumbenannt und verschoben.androidx.xr.scenecore.Dimensionswurde inandroidx.xr.runtime.math.FloatSize3dumbenannt und verschoben.androidx.xr.scenecore.PlaneTypewurde inandroidx.xr.scenecore.PlaneOrientationumbenannt.androidx.xr.scenecore.PlaneSemanticwurde inandroidx.xr.scenecore.PlaneSemanticTypeumbenannt. (Ifd405, b/416456228)- Die Klasse
androidx.xr.runtime.FoVwurde entfernt. Verwenden Sie stattdessenandroidx.xr.runtime.FieldOfView. (I9ae27) - Es wurde eine zusätzliche Überladung für
Session.createhinzugefügt, die eineLifecycleOwnerfür die anzuhängende Sitzung bereitstellen kann. Für die Inhaberschaft von Ressourcen muss weiterhin eine Aktivität angegeben werden undLifecycleOwnermuss in der Aktivität enthalten sein. (I1690b) FakeRuntimeAnchor.anchorsCreatedwurde inanchorsCreatedCountumbenannt (I96df9, b/424441218)- Die Konfigurationswerte für
*Modewurden umbenannt, um ihr Verhalten besser widerzuspiegeln. (I6d247, b/414648065) - Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich (Idb6b5, b/344563182).
- APIs für Manifest-Strings wurden von
:xr:runtime:runtimenach:xr:runtime:runtime-manifestverschoben. Der Paketname wurde vonandroidx.xr.runtimeinandroidx.xr.runtime.manifestgeändert. (I610ad, b/418800249) Session.resume(),Session.pause()undSession.destroy()wurden aus der API-Oberfläche entfernt. Die Sitzung ist keinLifecycleOwnermehr. Der Lebenszyklus der Sitzung ist jetzt an den Lebenszyklus der inSession.create()übergebenen Aktivität gebunden. (I28a03)- In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen:
-Xjspecify-annotations=strict(dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers) (Ia8420, b/326456246) - Das Haupt-Laufzeitartefakt (
:xr:runtime:runtime) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können:xr:runtime:runtime-guavaverwenden, um auf kompatible APIs zuzugreifen. (I05d4a, b/426639315) - Das Haupt-Laufzeitartefakt (
:xr:runtime:runtime) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können diexr:runtime:runtime-rxjava3-Bibliothek verwenden, um auf kompatible APIs zuzugreifen. (I64122, b/426639775) - Verschieben Sie Coroutines nach
:xr:runtime:runtime-guavaund Flows nach:xr:runtime:runtime-rxjava3. (I60ae9) - Bei
Session.createundSession.configurewird jetztSecurityExceptionausgegeben, wenn nicht genügend Berechtigungen erteilt wurden, anstattSessionCreatePermissionsNotGrantedoderSessionConfigurePermissionsNotGrantedzurückzugeben. (I7c488, b/430651879)
Version 1.0.0-alpha04
7. Mai 2025
androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 und androidx.xr.runtime:runtime-testing:1.0.0-alpha04 sind veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- In der Sitzung wird jetzt
androidx.lifecycle.LifecycleOwnerfür eine bessere Interoperabilität mit vorhandenen Android-Lebenszyklusparadigmen implementiert. - Manifest-Strings für Android XR werden hier angegeben und dokumentiert.
- Es wurden Erweiterungsmethoden für den Callback für die räumliche Sichtbarkeit hinzugefügt, um zu überwachen, wann sich der Inhalt der Szene innerhalb oder außerhalb des Sichtfelds des Nutzers bewegt.
- Es wurde eine Stub-Version von
JxrPlatformAdapter(und allen zugehörigen Klassen) hinzugefügt. - Die Sitzung wird sowohl in
SceneCoreals auch in Runtime anstelle der Sitzung inSceneCoreverwendet. ActivityPose.hitTestwurde hinzugefügt, wodurch einhitTestfür virtuelle Inhalte möglich ist.- Die Angabe mehrerer Laufzeitimplementierungen zur Kompilierzeit wird jetzt unterstützt. Zur Laufzeit wird nur eine geladen, basierend auf den Funktionen des aktuellen Geräts.
- Der neue Komponententyp
SpatialPointerComponentwurde hinzugefügt. Damit können Kunden das Symbol für den Zeiger angeben oder das Symbol deaktivieren. Diese Komponente kann derzeit nur anPanelEntity-Instanzen angehängt werden.
API-Änderungen
- Konfigurationsimplementierung öffentlich machen (I95860)
- Fügen Sie
HandJointTypeundTrackingStatehinzu. (I55880) - Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich (Idb6b5).
Hand.isActive (boolean)wurde inHand.trackingStategeändert. Die Implementierung vonOpenXRwurde entsprechend geändert.- Die Berechtigungsvoraussetzung für
android.permission.SCENE_UNDERSTANDINGinSession.configurewurde zuandroid.permission.SCENE_UNDERSTANDING_COARSEgeändert. LifecycleManager.configurewurde implementiert und übergibt jetzt einConfig-Objekt, das eine Property für jede konfigurierbare Laufzeitfunktion enthält.Session.configurekann jetzt mit einemConfigaufgerufen werden, um die verfügbaren Laufzeitfunktionen zu konfigurieren.Session.createunterstützt jetzt die Übergabe einerCoroutineContextanstelle einerCoroutineDispatcher.Session.createunterstützt das Laden vonARCorefür Jetpack XR und/oderSceneCore. Es muss mindestens eine angegeben werden (Testversionen sind verfügbar).FakePerceptionManagerlöst eineAnchorInvalidUuidExceptionaus, wenn eine ungültige UUID anAnchor.loadundAnchor.unpersistübergeben wird.CoreStateist keine Datenklasse mehr.
Fehlerkorrekturen
- Die ProGuard-Konfigurationen für die Laufzeit wurden korrigiert.
Version 1.0.0-alpha03
26. Februar 2025
androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 und androidx.xr.runtime:runtime-testing:1.0.0-alpha03 werden ohne nennenswerte Änderungen seit der letzten Alphaversion veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Version 1.0.0-alpha02
12. Februar 2025
androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 und androidx.xr.runtime:runtime-testing:1.0.0-alpha02 sind veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Nicht abwärtskompatible Änderungen und Verhaltensänderungen
OpenXR-Laufzeitfunktionen, die einen Anker zurückgeben, lösen jetztAnchorResourcesExhaustedExceptionaus, wenn ein Fehlercode auftritt, der darauf hinweist, dass dasOpenXR-Ressourcenlimit erreicht wurde.- Die Berechtigung
android.permission.HAND_TRACKINGist jetzt fürSession.createundSession.resumeerforderlich.
Neue Funktionen
- Unterstützung für Handtracking hinzugefügt.
Fehlerkorrekturen
- Das Erstellen von Ankern ist stabiler, wenn die App auf einem Emulator ausgeführt wird.
Version 1.0.0-alpha01
12. Dezember 2024
androidx.xr.runtime:runtime-* 1.0.0-alpha01 ist veröffentlicht.
Funktionen der Erstversion
Erste Version der Jetpack XR-Laufzeit. Diese Bibliothek enthält grundlegende Funktionen für die Jetpack XR-Bibliotheken. Dazu gehören die Erkennung von Funktionen, die Lebenszyklusverwaltung und die Konfiguration. Die Laufzeitbibliothek bietet je nach Ausführungsplattform verschiedene Varianten (z.B. runtime-openxr oder runtime-testing). Außerdem bietet diese Bibliothek grundlegende mathematische Abstraktionen wie Vector3 und Matrix4, die in der gesamten Jetpack XR API verwendet werden.
Session: Bietet Ihnen detaillierte Steuerungsmöglichkeiten für das XR-System, einschließlich der Entscheidung, wann die Verarbeitung ausgeführt wird und wann nicht, sowie der Gesamtkonfiguration. Außerdem ist es der Handle, den Sie in allen anderen APIs verwenden, um die zugrunde liegenden Systemfunktionen freizuschalten.Pose: Ein Ort in einem beliebigen Koordinatensystem, dem eine Position und Ausrichtung zugeordnet sind. Mit dieser Klasse wird die Position von Objekten an ARCore für Jetpack XR und Jetpack SceneCore übermittelt.
Bekannte Probleme
configureist derzeit ein No-Op. In zukünftigen Releases werden neue Einstellungen hinzugefügt, mit denen Sie das Verhalten vonSessionsteuern können.