XR-Laufzeit
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 25. März 2026 | - | - | - | 1.0.0-alpha12 |
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 unter Google Maven-Repository.
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-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha12" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha12") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha12") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0
Version 1.0.0-alpha12
25. März 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha12 ist veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
Config.augmentedObjectCategorieswurde von einer Liste in ein Set geändert (I25a64, b/487376359).- Das Flag
unscaledGravityAlignedActivitySpacewurde ausSession.createentfernt.ActivitySpaceist jetzt immer nicht skaliert und an der Schwerkraft ausgerichtet. (If6f11, b/458173423) Session.createwurde überladen, um die Übergabe eines Android-Kontexts für die Ressourcenbegrenzung zu ermöglichen. (I7d3fe, b/415805990, b/477386334)JvmOverloadswurde zuFloatSize2d.to3d,Matrix3.copyundMatrix4.copyhinzugefügt (I69586, b/481371562).- Es wurde die Möglichkeit hinzugefügt, Kategorien für das
AugmentedObjectTracking in der Konfiguration festzulegen (I1f6e4, b/480220930). - Das Modul
xr:runtime:runtime-interfaceswurde hinzugefügt. (I52ac6, b/461561664)
Version 1.0.0-alpha11
25. Februar 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Die Schnittstelle
ConfigModewurde auf die interne Verwendung beschränkt (Ibfb87). androidx.xr.runtime.Config.GeospatialModewurde auf Paketebene verschoben (Ibe682).androidx.xr.runtime.Config.FaceTrackingModewurde auf Paketebene verschoben (Iac501).androidx.xr.runtime.Config.AnchorPersistenceModewurde auf Paketebene verschoben (I0360f).androidx.xr.runtime.Config.DepthEstimationModewurde auf Paketebene verschoben (I7e3e9).androidx.xr.runtime.Config.DeviceTrackingModewurde auf Paketebene verschoben (I3aacd).androidx.xr.runtime.Config.HandTrackingModewurde auf Paketebene verschoben (I658f3).androidx.xr.runtime.Config.PlaneTrackingModewurde auf Paketebene verschoben (Ia251b).androidx.xr.runtime.XrDevice.DisplayBlendModewurde auf Paketebene verschoben (I6f333).- Es wurde eine Factory-Methode hinzugefügt, um ein
XrDevicemit einem Kontext, einer Sitzung und einemCoroutineContextzu erstellen. (I139c5) SpatialApiVersionHelperwurde hinzugefügt, um die auf der Plattform verfügbare Laufzeitversion von Android XR abzufragen. (I7c53c)- Das Modul
xr:runtime:runtime-openxrwurde hinzugefügt (Ib42ea).
Version 1.0.0-alpha10
28. Januar 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
ConfigMode.HeadTrackingModewurde durchConfigMode.DeviceTrackingModeersetzt. (le273e, b/467150206)- Die Methoden
toNormalized,times(float)unddiv(float)von Quaternion wurden entfernt. Diese Methoden sind redundant, da alle Quaternions zur Erstellungszeit normalisiert werden und die Klasse unveränderlich ist. (l558fc, b/460210457)
Diverse Fehlerkorrekturen
- Der Dokumentation zu
Session.createwurde ein Beispiel hinzugefügt, das zeigt, wie Sie vermeiden, eine Sitzung im Hauptthread der Anwendung zu erstellen. (le5554, b/463687170) - Anwendungen können jetzt keine
BoundingBoxmit einemNaN-Wert erstellen. (l58c14, b/464025895)
Version 1.0.0-alpha09
3. Dezember 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
Version 1.0.0-alpha08
19. November 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
XrDevicewurde hinzugefügt, um Informationen zu den Gerätefunktionen bereitzustellen. (Ic9d1f)- Die neue API
ConfigMode.isSupportedwurde hinzugefügt, um Sitzungsfunktionen abzufragen. (Iff7af) - Die API
XrDisplay.BlendModewurde hinzugefügt. (I484e4)
API-Änderungen
- [XrDevice.getPreferredBlendMode] wurde in [XrDevice.getPreferredDisplayBlendMode] umbenannt. (I7e48f)
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 elementweise Multiplikation für
componentWiseMultiplicationfürVector2,Vector3undVector4wurde geändert, um die Skalierung zu ermöglichen. Das Operatorsymbol wurde entfernt, um die Konsistenz mit anderen mathematischen Bibliotheken zu gewährleisten. Außerdem wurdecomponentWiseDivisionaus den Vektorklassen entfernt und durchVector.scale(otherVector.inverse())ersetzt. (I8e1f6, b/399146447) - [unscaled] wurde hinzugefügt, um eine Matrix mit einem Skalierungsfaktor von 1 zurückzugeben. (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
HandJointTypeundTrackingStatewurden hinzugefügt. (I55880, b/334645808)- Die Konfigurationsimplementierung wurde öffentlich gemacht. (I95860, b/334645808)
- Die neuen Typen
SessionCreateResultundSessionConfigureResultwurden eingeführt. (Icb8cb, b/334645808) - Die neue Klasse
BoundingBoxwurde hinzugefügt, die einen achsenparallelen Begrenzungsrahmen im 3D-Raum darstellt und durch die Eckpunkte mit den minimalen und maximalen Koordinaten 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 einenLifecycleOwnerfür die Sitzung bereitstellen kann. Für den Besitz von Ressourcen muss weiterhin eine Aktivität angegeben werden und derLifecycleOwnermuss auf die Aktivität beschränkt sein. (I1690b) FakeRuntimeAnchor.anchorsCreatedwurde inanchorsCreatedCountumbenannt (I96df9, b/424441218).- Die Werte für
*Modeder Konfiguration wurden umbenannt, um ihr Verhalten 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 im Zusammenhang mit 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 wird jetzt an den Lebenszyklus der Aktivität angehängt, die inSession.create()übergeben wird. (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 Hauptartefakt der Laufzeit (
:xr:runtime:runtime) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können von:xr:runtime:runtime-guavaabhängen, um auf kompatible APIs zuzugreifen. (I05d4a, b/426639315) - Das Hauptartefakt der Laufzeit (
:xr:runtime:runtime) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können von der Bibliothekxr:runtime:runtime-rxjava3abhängen, um auf kompatible APIs zuzugreifen. (I64122, b/426639775) - Verschieben Sie Coroutines nach
:xr:runtime:runtime-guavaund Flows nach:xr:runtime:runtime-rxjava3. (I60ae9) Session.createundSession.configurelösen jetztSecurityExceptionaus, 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
- Die Sitzung implementiert jetzt
androidx.lifecycle.LifecycleOwner, um die Interoperabilität mit vorhandenen Android-Lebenszyklusparadigmen zu verbessern. - Manifest-Strings für Android XR werden hier angegeben und dokumentiert.
- Es wurden Erweiterungsmethoden für den Rückruf zur räumlichen Sichtbarkeit hinzugefügt, um zu beobachten, wann sich der Szeneninhalt 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 der Laufzeit anstelle der Sitzung inSceneCoreverwendet. ActivityPose.hitTestwurde hinzugefügt, um einenhitTestfür virtuelle Inhalte zu ermöglichen.- Die Angabe mehrerer Laufzeitimplementierungen zur Kompilierzeit wird jetzt unterstützt. Zur Ausführungszeit wird nur eine basierend auf den Funktionen des aktuellen Geräts geladen.
- Der neue Komponententyp
SpatialPointerComponentwurde hinzugefügt, mit dem Clients das für den Pointer gerenderte Symbol angeben oder das Symbol deaktivieren können. Diese Komponente kann derzeit nur anPanelEntity-Instanzen angehängt werden.
API-Änderungen
- Die Konfigurationsimplementierung wurde öffentlich gemacht. (I95860)
HandJointTypeundTrackingStatewurden hinzugefügt. (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. DieOpenXR-Implementierung wurde entsprechend geändert.- Die Berechtigungsanforderung
android.permission.SCENE_UNDERSTANDINGinSession.configurewurde inandroid.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 einerConfigaufgerufen werden, um die verfügbaren Laufzeitfunktionen zu konfigurieren.Session.createunterstützt jetzt die Übergabe einesCoroutineContextanstelle einesCoroutineDispatcher.Session.createunterstützt das Laden vonARCorefür Jetpack XR und/oderSceneCore. Mindestens eine muss angegeben werden (Testversionen sind verfügbar).FakePerceptionManagerlöst eineAnchorInvalidUuidExceptionaus, wenn eine ungültige UUID anAnchor.loadundAnchor.unpersistübergeben wird.CoreStateist keine Datenklasse mehr.
Diverse Fehlerkorrekturen
- Die ProGuard-Konfigurationen der 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 wurden veröffentlicht. Seit der letzten Alpha-Version gab es keine nennenswerten Änderungen. 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.
Wichtige Änderungen und Verhaltensänderungen
- Laufzeitfunktionen von
OpenXR, die einen Anker zurückgeben, lösen jetztAnchorResourcesExhaustedExceptionaus, wenn ein Fehlercode auftritt, der darauf hinweist, dass das Ressourcenlimit vonOpenXRerreicht wurde. - Für
Session.createundSession.resumeist jetzt die Berechtigungandroid.permission.HAND_TRACKINGerforderlich.
Neue Funktionen
- Unterstützung für das Hand-Tracking wurde hinzugefügt.
Diverse Fehlerkorrekturen
- Das Erstellen von Ankern ist stabiler, wenn es 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-Bibliothekssuite. Dazu gehören unter anderem 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 auf der gesamten Jetpack XR-API-Oberfläche verwendet werden.
Session: Bietet Ihnen detaillierte Steuerelemente für das XR-System, einschließlich der Entscheidung, wann die Verarbeitung ausgeführt wird und wann nicht, sowie der Gesamtkonfiguration. Es ist auch das Handle, das Sie in allen anderen APIs verwenden, um die zugrunde liegenden Systemfunktionen freizuschalten.Pose: Eine Position in einem beliebigen Koordinatensystem mit einer zugehörigen Position und Ausrichtung. Mit dieser Klasse können Sie die Position von Objekten an ARCore für Jetpack XR und Jetpack SceneCore übermitteln.
Bekannte Probleme
configureist derzeit ein No-Op. In zukünftigen Versionen werden neue Einstellungen hinzugefügt, mit denen Sie das Verhalten derSessionsteuern können.