XR-Laufzeit

Starten Sie Ihre benutzerdefinierte AR- oder 3D-Sitzung mit unserer nativen Laufzeit.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alphaversion
7. Mai 2025 - - 1.0.0-alpha04

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 erforderlichen Artefakte hinzu:

Cool

dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha04"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha04")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha04")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme feststellen 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 einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.0

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 werden losgelassen. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • In der Sitzung wird jetzt androidx.lifecycle.LifecycleOwner implementiert, um die Interoperabilität mit den vorhandenen Android-Lebenszyklusparadigmen zu verbessern.
  • Manifest-Strings für Android XR sind hier angegeben und dokumentiert.
  • Es wurden Erweiterungsmethoden für Callback-Funktionen zur räumlichen Sichtbarkeit hinzugefügt, um zu überwachen, wann sich die Szeneninhalte in das Blickfeld des Nutzers bewegen oder daraus heraustreten.
  • Eine Stub-Version der JxrPlatformAdapter (und aller zugehörigen Klassen) wurde hinzugefügt.
  • „Sitzung“ wird sowohl in SceneCore als auch in der Laufzeit anstelle der Sitzung in SceneCore verwendet.
  • ActivityPose.hitTest wurde hinzugefügt, wodurch eine hitTest gegen virtuelle Inhalte möglich ist.
  • Die Angabe mehrerer Laufzeitimplementierungen zur Kompilierungszeit wird jetzt unterstützt. Je nach Funktionsumfang des aktuellen Geräts wird bei der Ausführung nur eine geladen.
  • Der neue Komponententyp SpatialPointerComponent wurde hinzugefügt. Damit können Kunden das Symbol angeben, das für den Cursor gerendert werden soll, oder das Symbol deaktivieren. Diese Komponente kann derzeit nur an PanelEntity-Instanzen angehängt werden.

API-Änderungen

  • Machen Sie die Config-Implementierung öffentlich. (I95860)
  • Fügen Sie HandJointType und TrackingState 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 in Hand.trackingState geändert. Die OpenXR-Implementierung wurde entsprechend geändert.
  • Die Berechtigungsanforderung für android.permission.SCENE_UNDERSTANDING in Session.configure wurde zu android.permission.SCENE_UNDERSTANDING_COARSE geändert.
  • LifecycleManager.configure ist implementiert und gibt jetzt ein Config-Objekt mit einer Property für jede konfigurierbare Laufzeitfunktion zurück.
  • Session.configure kann jetzt mit einem Config aufgerufen werden, um die verfügbaren Laufzeitfunktionen zu konfigurieren.
  • Session.create unterstützt jetzt die Übergabe einer CoroutineContext anstelle einer CoroutineDispatcher.
  • Session.create unterstützt das Laden von ARCore für Jetpack XR und/oder SceneCore. Es muss mindestens eine angegeben werden (Testversionen sind verfügbar).
  • FakePerceptionManager wirft eine AnchorInvalidUuidException aus, wenn eine ungültige UUID an Anchor.load und Anchor.unpersist übergeben wird.
  • CoreState ist keine Datenklasse mehr.

Fehlerkorrekturen

  • 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 wurden 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 werden losgelassen. Version 1.0.0-alpha02 enthält diese Commits.

Nicht abwärtskompatible Änderungen und Verhaltensänderungen

  • OpenXR-Laufzeitfunktionen, die einen Anker zurückgeben, werfen jetzt AnchorResourcesExhaustedException, wenn ein Fehlercode auftritt, der darauf hinweist, dass das OpenXR-Ressourcenlimit erreicht wurde.
  • Die Berechtigung android.permission.HAND_TRACKING ist jetzt für Session.create und Session.resume erforderlich.

Neue Funktionen

  • Unterstützung für Handtracking hinzugefügt.

Fehlerkorrekturen

  • Das Erstellen von Markierungen ist bei der Ausführung in einem Emulator stabiler

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 unter anderem die Funktionserkennung, die Lebenszyklusverwaltung und die Konfiguration. Die Runtime-Bibliothek bietet je nach Ausführungsplattform verschiedene Varianten (z.B. runtime-openxr oder runtime-testing). Außerdem bietet diese Bibliothek grundlegende mathematische Abstraktionsfunktionen wie Vector3 und Matrix4, die in der gesamten Jetpack XR API verwendet werden.

  • Session: Bietet detaillierte Einstellungen für das XR-System, einschließlich der Entscheidung, wann die Verarbeitung ausgeführt wird und wann nicht, sowie der Gesamtkonfiguration. Außerdem verwenden Sie diesen Handle für alle anderen APIs, um die zugrunde liegenden Systemfunktionen zu nutzen.

  • Pose: Ein Ort in einem beliebigen Koordinatensystem, dem eine Position und Orientierung zugeordnet ist. Mit dieser Klasse können Sie die Position von Objekten mit ARCore für Jetpack XR und Jetpack SceneCore kommunizieren.

Bekannte Probleme

  • configure hat derzeit keine Funktion. In zukünftigen Releases werden neue Einstellungen hinzugefügt, mit denen Sie das Verhalten von Session steuern können.