XR-Laufzeit
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
30. Juli 2025 | - | – | - | 1.0.0-alpha05 |
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-alpha05" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha05") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05") }
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 abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.0
Version 1.0.0-alpha05
30. Juli 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha05
wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
- Fügen Sie
HandJointType
undTrackingState
hinzu. (I55880, b/334645808) - Konfigurationsimplementierung öffentlich machen (I95860, b/334645808)
- Neue Typen
SessionCreateResult
undSessionConfigureResult
eingefü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.PixelDimensions
wurde inandroidx.xr.runtime.math.IntSize2d
umbenannt und verschoben.androidx.xr.scenecore.Dimensions
wurde inandroidx.xr.runtime.math.FloatSize3d
umbenannt und verschoben.androidx.xr.scenecore.PlaneType
wurde inandroidx.xr.scenecore.PlaneOrientation
umbenannt.androidx.xr.scenecore.PlaneSemantic
wurde inandroidx.xr.scenecore.PlaneSemanticType
umbenannt. (Ifd405, b/416456228)- Die Klasse
androidx.xr.runtime.FoV
wurde entfernt. Verwenden Sie stattdessenandroidx.xr.runtime.FieldOfView
. (I9ae27) - Es wurde eine zusätzliche Überladung für
Session.create
hinzugefügt, die eineLifecycleOwner
für die anzuhängende Sitzung bereitstellen kann. Für die Inhaberschaft von Ressourcen muss weiterhin eine Aktivität angegeben werden undLifecycleOwner
muss auf die Aktivität beschränkt sein. (I1690b) FakeRuntimeAnchor.anchorsCreated
wurde inanchorsCreatedCount
umbenannt (I96df9, b/424441218)- Die Konfigurationswerte für
*Mode
wurden 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:runtime
nach:xr:runtime:runtime-manifest
verschoben. Der Paketname wurde vonandroidx.xr.runtime
zuandroidx.xr.runtime.manifest
geändert. (I610ad, b/418800249) Session.resume()
,Session.pause()
undSession.destroy()
wurden aus der API-Oberfläche entfernt. Die Sitzung ist keinLifecycleOwner
mehr. Der Lebenszyklus der Sitzung ist jetzt an den Lebenszyklus der inSession.create()
übergebenen Aktivität gebunden. (I28a03)- In dieser Bibliothek werden jetzt JSpecify-Nullable-Annotationen 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-guava
verwenden, um auf kompatible APIs zuzugreifen. (I05d4a, b/426639315) - Das Hauptartefakt für die Laufzeit (
: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-guava
und Flows nach:xr:runtime:runtime-rxjava3
. (I60ae9) - Bei
Session.create
undSession.configure
wird jetztSecurityException
ausgegeben, wenn nicht genügend Berechtigungen erteilt wurden, anstattSessionCreatePermissionsNotGranted
oderSessionConfigurePermissionsNotGranted
zurü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.LifecycleOwner
für eine bessere Interoperabilität mit bestehenden 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
SceneCore
als auch in Runtime anstelle der Sitzung inSceneCore
verwendet. ActivityPose.hitTest
wurde hinzugefügt, wodurch einehitTest
fü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
SpatialPointerComponent
wurde 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
HandJointType
undTrackingState
hinzu. (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.trackingState
geändert. Die Implementierung vonOpenXR
wurde entsprechend geändert.- Die Berechtigungsvoraussetzung für
android.permission.SCENE_UNDERSTANDING
inSession.configure
wurde zuandroid.permission.SCENE_UNDERSTANDING_COARSE
geändert. LifecycleManager.configure
wurde implementiert und übergibt jetzt einConfig
-Objekt, das eine Property für jede konfigurierbare Laufzeitfunktion enthält.Session.configure
kann jetzt mit einemConfig
aufgerufen werden, um die verfügbaren Laufzeitfunktionen zu konfigurieren.Session.create
unterstützt jetzt die Übergabe einerCoroutineContext
anstelle einerCoroutineDispatcher
.Session.create
unterstützt das Laden vonARCore
für Jetpack XR und/oderSceneCore
. Es muss mindestens eine angegeben werden (Testversionen sind verfügbar).FakePerceptionManager
löst eineAnchorInvalidUuidException
aus, wenn eine ungültige UUID anAnchor.load
undAnchor.unpersist
übergeben wird.CoreState
ist 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 jetztAnchorResourcesExhaustedException
aus, wenn ein Fehlercode auftritt, der darauf hinweist, dass dasOpenXR
-Ressourcenlimit erreicht wurde.- Die Berechtigung
android.permission.HAND_TRACKING
ist jetzt fürSession.create
undSession.resume
erforderlich.
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
wird 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
configure
ist derzeit ein No-Op. In zukünftigen Versionen werden neue Einstellungen hinzugefügt, mit denen Sie das Verhalten vonSession
steuern können.