ARCore für Jetpack XR
| 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 ARCore für Jetpack XR 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.arcore:arcore:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha12" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha12") implementation("androidx.xr.arcore:arcore-rxjava3: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.arcore:arcore-*: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)- Die Typen
androidx.xr.arcore.Eyeundandroidx.xr.arcore.Hand. (I42438, b/449032900) - Die Überladung
Session.createwurde hinzugefügt, um einen Android-Kontext für die Ressourcenbegrenzung zu übergeben. (I7d3fe, b/415805990, b/477386334) FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITwurde inFakeRuntimeAnchor.anchorResourceLimitgeändert. (I90841, b/431992235)- Die
TiltGestureAPI ist jetzt experimentell, da sie in Zukunft geändert oder entfernt werden kann. Wenn Sie diese API verwenden möchten, aktivieren Sie@ExperimentalGesturesApi(Ic9858) - Die Möglichkeit, Kategorien für das
AugmentedObjectTracking in der Konfiguration festzulegen, wurde hinzugefügt (I1f6e4, b/480220930).
Diverse Fehlerkorrekturen
- Der Chrome-Build wurde korrigiert, indem die Datei META-INF/services/ mit dem tatsächlichen Speicherort von
PerceptionRuntimeFactoryaktualisiert wurde. (I7a801, b/481288291)
Version 1.0.0-alpha11
25. Februar 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
Version 1.0.0-alpha10
28. Januar 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
- Die
TiltGestureAPI wurde eingeführt, die einen reaktivenFlowfür die stabile Erkennung des Geräteneigungszustands (UP/DOWN) mit Übergangsfortschritt bietet. (Ic269f, b/448152779) - ARCore für Jetpack XR verwendet jetzt den XR Runtime-Protokollierungsmechanismus. Weitere Informationen finden Sie unter
androidx.xr.runtime.Log. (l52735, b/448697662)
API-Änderungen
Geospatial.createPoseFromGeospatialPosefunktioniert jetzt auf OpenXR-fähigen Geräten. (l362c6)
Version 1.0.0-alpha09
3. Dezember 2025
androidx.xr.arcore:arcore-*: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.arcore:arcore-*:1.0.0-alpha08 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
ARCorefür Jetpack XR unterstützt jetzt Geräte, auf denen Google Play-Dienste für AR verfügbar sind.- Geospatial APIs für VPS-Verfügbarkeit und Posenkonvertierung hinzugefügt (I144dc)
Version 1.0.0-alpha07
22. Oktober 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha07 ist veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
Diverse Fehlerkorrekturen
:xr:arcore:arcore-openxrwurde als Implementierungsabhängigkeit zu:xr:arcore:arcorehinzugefügt (I47315, b/446999229).
Version 1.0.0-alpha06
24. September 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
API-Änderungen
- Die Testunterstützung für
ARCorewurde zum Modulxr:arcore:arcore-testingmigriert. (I25469) ArDeviceundRenderViewpointwurden hinzugefügt, damit Anwendungen die Gerätepose und die Anzeigekonfiguration für Renderingzwecke abrufen können. (Ib7e3f)- Die
HandJointType-Enumerationen wurden mit dem PräfixHAND_JOINT_TYPE_umbenannt. (I3f7cd) HandJointTypewurde vonxr:runtime:runtimezuxr:arcore:arcoreverschoben. (Iadb9c, b/409058039)Hand.Statestellt jetzt einenjava.nio.FloatBuffermit den Gelenkposen in einem Format bereit, das einen einfachen Zugriff auf leistungsorientierte Anwendungen ermöglicht. (I55e27)
Version 1.0.0-alpha05
30. Juli 2025
androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 und androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 sind veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Neue Funktionen
getPrimaryHandSidehinzugefügt, damit der Entwickler die Informationen zur Handseite abrufen kann (I270bd)- Geospatial API zum Prüfen der VPS-Verfügbarkeit hinzugefügt (I58573)
- ARCore API für
checkVpsAvailability(Idbded) hinzugefügt - Die Erweiterungsfunktionen
stateFlowablewurden zu:xr:arcore:arcore-rxjava3hinzugefügt, damit sie von Java-Entwicklern verwendet werden können. (I083aa, b/427247794)
API-Änderungen
- Die
*Mode-Werte der Konfiguration wurden umbenannt, um ihr Verhalten widerzuspiegeln. (I6d247, b/414648065) - Das Hauptartefakt von ARCore (xr:arcore:arcore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können sich auf die Bibliothek
xr:arcore:arcore-rxjava3verlassen, um auf kompatible APIs zuzugreifen. (Ia525e, b/422794329) - Das Hauptartefakt von ARCore (
xr:scenecore:scenecore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können sich auf die Bibliothekxr:arcore:arcore-guavaverlassen, um auf kompatible APIs zuzugreifen. (Iffcb4, b/422773524) Anchor.persistAsync()wurde zuAnchorGuavahinzugefügt, damit es von Java-Entwicklern verwendet werden kann. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)wurde zuEarthGuavahinzugefügt, damit es von Java-Entwicklern verwendet werden kann. (I66357, b/425992992)- Java-Entwickler verwenden die Erweiterungsfunktionen für
GltfModel.createAsyncinGltfModel.kt. Asynchrone Funktionen inGltfModelwerden gelöscht. (I0af60) - 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) - Die Erweiterungsfunktionen
subscribeAsFlowablewurden zu:xr:arcore:arcore-rxjava3hinzugefügt, damit sie von Java-Entwicklern verwendet werden können. (Id3e49, b/427277298)
Version 1.0.0-alpha04
7. Mai 2025
androidx.xr.arcore:arcore:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
- Projekte, die mit Kotlin 2.0 veröffentlicht wurden, erfordern KGP 2.0.0 oder höher. (Idb6b5)
TrackingStateundHandJointTypewurden von ARCore zu Runtime verschoben.Hand.State.isActive (boolean)wurde inHand.State.trackingState (androidx.xr.runtime.TrackingState)geändert.Anchor.loadgibtAnchor.AnchorLoadInvalidUuidzurück, wenn die UUID ungültig ist.
Version 1.0.0-alpha03
26. Februar 2025
androidx.xr.arcore:arcore:1.0.0-alpha03 wurde 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.arcore:arcore:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Unterstützung für Hand-Tracking hinzugefügt. Verwenden Sie
Hand.leftundHand.right, um auf die Tracking-Informationen zuzugreifen. - APIs, die einen Anker generieren (
Anchor.create,Anchor.load,Plane.createAnchor), geben jetzt alleAnchorCreateResultzurück und implementierenAnchorCreateResourcesExhaustedkorrekt.
Fehlerkorrekturen
Anchor.detachverursacht nicht mehr einen schwerwiegenden Absturz aufgrund einer Race Condition mit dem Thread für die Sitzungsaktualisierung.Anchor.createist stabiler, wenn es auf einem Emulator ausgeführt wird.
Version 1.0.0-alpha01
12. Dezember 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01 ist veröffentlicht.
Funktionen der ersten Version
Die ARCore für Jetpack XR-Bibliothek ist von der vorhandenen ARCore-Bibliothek inspiriert und bietet Funktionen zum Einblenden digitaler Inhalte in die reale Welt. Diese Bibliothek umfasst Bewegungsverfolgung, persistente Anker, Treffertests und die Erkennung von Ebenen mit semantischer Kennzeichnung (z. B. Boden, Wände und Tischplatten). Im Entwicklerleitfaden erfahren Sie mehr über die Verwendung von ARCore für Jetpack XR.
Session: ARCore für Jetpack XR verwendet im Hintergrund die Jetpack XR Runtime, um die Funktionen zu ermöglichen. Sie verwenden eine Sitzung, um mit den meisten ARCore für Jetpack XR APIs zu interagieren. Sehen Sie sich daher die Dokumentation an.Plane: Mit Ebenen können Sie die Welt um sich herum verstehen. Jede Ebene hat einLabel, das sie semantisch beschreibt. Mitsubscribekönnen Sie sich über die neuesten erkannten Ebenen benachrichtigen lassen oder mitstateüber Änderungen an einer bestimmten Ebene.Anchor: Eine Verknüpfung zwischen einem virtuellen Objekt und einem realen Ort. Anker können an einem bestimmten Ort im Raum (mitcreate) oder an einemTrackable(mitcreateAnchor) angebracht werden.Anker können sitzungsübergreifend wiederverwendet werden. Sie können sie mit
persistspeichern, mitgetPersistedAnchorUuidsauflisten und mitloadabrufen. Achten Sie darauf, dass Sie die Persistenz mitunpersistaufheben, sobald sie nicht mehr verwendet werden.Anker sind zwischen ARCore für Jetpack XR und Jetpack SceneCore interoperabel. Sie können eine
AnchorEntitymit einem Anker erstellen. Wenn Sie bereits eine AnchorEntity haben, können Sie mitgetAnchorden zugrunde liegenden Anker abrufen.Bieten Sie natürliche Nutzerinteraktionen mit
hitTest. Bei einem Treffertest wird einRayverwendet, um zu ermitteln, welche Inhalte sich damit schneiden, und um an diesem Ort einenAnchorzu erstellen. Sie können einen Treffertest über einInputEventdurchführen.
Bekannte Probleme
Es kann zu einer Verzögerung zwischen dem Aufrufen von
unpersistund dem Entfernen der UUID aus den Ergebnissen kommen, die vongetPersistedAnchorUuidszurückgegeben werden.createwird nicht geprüft, ob das System genügend Ressourcen hat, um neue Anker zurückzugeben. Wenn Sie zu viele Anker erstellen, kann es zu einem Absturz kommen.Das Speichern eines Ankers, dessen Persistenz zuvor aufgehoben wurde, wird derzeit nicht unterstützt.
Die Verwendung im Emulator wird unterstützt, das Verhalten ist jedoch möglicherweise nicht so stabil wie bei der Ausführung auf einem tatsächlichen Gerät. Insbesondere Aufrufe von
createkönnen mit einem Fehler im nativen Code fehlschlagen und die Aktivität sofort beenden.Unter bestimmten Umständen kann es vorkommen, dass beim Aufrufen von
persistfälschlicherweise eineRuntimeExceptionmit der Meldung „Anchor was not persisted“ (Anker wurde nicht gespeichert) ausgelöst wird. In diesen Fällen ist die Funktion trotzdem erfolgreich und der Anker wird gespeichert. Als Problemumgehung empfehlen wir, den Aufruf vonpersistin einentry-Block einzuschließen.