XR-Laufzeit
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 06.05.2026 | - | - | - | 1.0.0-alpha13 |
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:
Cool
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha13" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha13") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha13") }
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-alpha13
06.05.2026
androidx.xr.runtime:runtime-*:1.0.0-alpha13 ist veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.
API-Änderungen
TrackingStateundVpsAvailabilityResultwurden in dasandroidx.xr.arcore packageverschoben und die Typen inandroidx.xr.runtimesind jetzt veraltet. (Ic7930, b/480462213)Session.getNativeData()ist jetzt im Modulxr:runtime:runtimedefiniert und stellt [nativeFunctionTablePointer] für Laufzeiten mit OpenXR-Unterstützung bereit. (Ifa862)- Die
NativeData-API wurde in die Bibliothekxr:runtime:runtimeverschoben. (I87954, b/494251500) Session.createundSession.configuresind jetzt nicht mehr erschöpfend und erfordern „else“-Klauseln in „when“-Anweisungen. (I9885e, b/495805998, b/495805998)androidx.xr.runtime.FieldOfViewist veraltet. Verwenden Sie stattdessenandroidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)Matrix4.posewurde inMatrix4.toPose()umbenannt. Das Attribut „pose“ ist jetzt veraltet. (I329b4, b/493383490)- Die
XrServiceAvailabilityAPI wurde hinzugefügt (If379e, b/493558010). - Die
ExperimentalXrServiceAvailabilityApiAnnotation wurde hinzugefügt (Icab49, b/491069725). - Das Suffix für
@PreviewSpatialApiwurde entfernt (If5242, b/491939311). DeviceTrackingMode.LAST_KNOWNwurde inSPATIAL_LAST_KNOWNumbenannt (mit einem veralteten Fallback).INERTIAL_LAST_KNOWNwurde für das 3DoF-Tracking hinzugefügt undTRACKING_DEGRADEDwurde zuTrackingStatehinzugefügt. (Ie661c, b/445466590)- Die
XrLog-API wurde hinzugefügt. Setzen SieXrLog.isEnabledauftrue, um das Logging in Jetpack XR zu aktivieren, und verwenden Sie [XrLog.Level], um die Protokollebene festzulegen. (I76a1f, b/463460895, b/487378441) DISPLAY_CATEGORY_XR_PROJECTEDwurde hinzugefügt. Diese Konstante wird in der Manifestdatei verwendet, um anzugeben, dass die Aktivität für ein projiziertes XR-Display vorgesehen ist (I26d8b).
Version 1.0.0-alpha12
25.03.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) - Die Überladung
Session.createwurde hinzugefügt, um einen Android-Kontext für die Ressourcenbereichsverwaltung zu übergeben. (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.02.2026
androidx.xr.runtime:runtime-*:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Die
ConfigMode-Schnittstelle wurde 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).- Eine Factory-Methode zum Erstellen eines
XrDevicemit einem Kontext, einer Sitzung und einemCoroutineContextwurde hinzugefügt. (I139c5) SpatialApiVersionHelperwurde hinzugefügt, um die Laufzeitversion von Android XR abzufragen, die auf der Plattform verfügbar ist. (I7c53c)- Das Modul
xr:runtime:runtime-openxrwurde hinzugefügt (Ib42ea).
Version 1.0.0-alpha10
28.01.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
03.12.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.11.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
ConfigMode.isSupported-API zum Abfragen von Sitzungsfunktionen wurde hinzugefügt. (Iff7af) - Die
XrDisplay.BlendMode-API wurde hinzugefügt. (I484e4)
API-Änderungen
- [XrDevice.getPreferredBlendMode] wurde in [XrDevice.getPreferredDisplayBlendMode] umbenannt. (I7e48f)
Version 1.0.0-alpha07
22.10.2025
androidx.xr.runtime:runtime-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
SessionConfigureConfigureNotSupportedwurde entfernt und durchUnsupportedOperationExceptionersetzt. (I7680f)
Version 1.0.0-alpha06
24.09.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 stattdessenVector.scale(otherVector.inverse())verwendet. (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.07.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 Konfiguration von „Config“ wurde öffentlich gemacht. (I95860, b/334645808)
- Die neuen Typen
SessionCreateResultundSessionConfigureResultwurden eingeführt. (Icb8cb, b/334645808) - Eine neue
BoundingBox-Klasse wurde 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) - Eine zusätzliche Überladung für
Session.createwurde hinzugefügt, die einenLifecycleOwnerfür die Sitzung bereitstellen kann. Für den Ressourcenbesitz 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
*Modein der 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) - Coroutines wurden nach
:xr:runtime:runtime-guavaund Flows nach:xr:runtime:runtime-rxjava3verschoben. (I60ae9) Session.createundSession.configurelösen jetztSecurityExceptionaus, wenn nicht genügend Berechtigungen erteilt wurden, anstattSessionCreatePermissionsNotGrantedoderSessionConfigurePermissionsNotGrantedzurückzugeben. (I7c488, b/430651879)
Version 1.0.0-alpha04
07.05.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.
- Spatial Visibility Callback-Erweiterungsmethoden wurden hinzugefügt, um zu beobachten, wann sich der Szeneninhalt innerhalb oder außerhalb des Sichtfelds des Nutzers bewegt.
- Eine Stub-Version von
JxrPlatformAdapter(und allen zugehörigen Klassen) wurde 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 Implementierung basierend auf dem Feature-Set 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 Konfiguration von „Config“ 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.02.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.02.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
OpenXR-Laufzeitfunktionen, 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 die Anwendung auf einem Emulator ausgeführt wird.
Version 1.0.0-alpha01
12.12.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 in 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.