ARCore für Jetpack XR
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 07. Oktober 2026 | - | 1.0.0-rc02 | - | - |
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 Google-Repository bei Maven.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc02" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc02") }
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-rc02
07. Oktober 2026
androidx.xr.arcore:arcore-*:1.0.0-rc02 ist veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem wurde behoben, bei dem
OpenXrRuntimedie Sitzung nicht konfigurieren konnte, wenn das Tracking von Augmented Reality-Bildern nicht unterstützt wurde. (I8b9759) - Es wurden mehrere Probleme behoben, darunter: Verbesserte Speicherverwaltung in
XrInstanceManagerdurch Verwendung vonapplicationContext, Behebung potenzieller Probleme im Zusammenhang mit dem Lebenszyklus durch Vereinfachung der Caching-Mechanismen vonSessionundScenesowie Verbesserung vonReferenceCleaner, um threadsichere Bereinigungsregistrierungen und explizite Entsorgungen zu ermöglichen. (Id0b76c)
Version 1.0.0-rc01
9. September 2026
androidx.xr.arcore:arcore-*:1.0.0-rc01 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Version 1.0.0-beta02
12. August 2026
androidx.xr.arcore:arcore-*:1.0.0-beta02 ist veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Beheben Sie das Problem mit der Parallelität bei der Persistenz von
OpenXR-Ankern. (I15c8b) toString()wurde in weiteren Klassen für das Debugging implementiert. (I587e8)
Version 1.0.0-beta01
15. Juli 2026
androidx.xr.arcore:arcore-*:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
- Der Modifier für die Größenanpassung wurde aktualisiert und verwendet jetzt
ResizePolicyanstelle von zwei Modifiers (I7fb0f, b/496257436, b/519672992). - Verschiebbare Überladung mit dem Parameter
movePolicyhinzugefügt undtransformingMovableundmovableeingestellt (Ic88c1, b/481781189) TrackingState.TRACKING_DEGRADED wurde aus der öffentlichen API-Oberfläche entfernt und die Laufzeitstatus werden stattdessen PAUSED zugeordnet. Aktualisieren SieTrackingState, sodass Enums anstelle von int-Werten für die String- und Laufzeitkonvertierung verwendet werden. (I3eb5b, b/524326338)- „Session.create“ wurde in eine Suspend-Funktion umgewandelt. (I5d27f)
- Die
ProjectedPermissionsResultContract(I141d5, b/515699436) wurde eingestellt. AnchorEntitywurde inAnchorSpaceumbenannt (Ifa95e, b/513619219)
Version 1.0.0-alpha15
17. Juni 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha15 ist veröffentlicht. Version 1.0.0-alpha15 enthält diese Commits.
API-Änderungen
- "
HitResult.createAnchor" wurde entfernt. Entwickler können einen Anker erstellen, derHitResultdarstellt, wenn das verfolgbare Element des Ergebnisses einAnchorableist. Dazu müssen sie die Trefferposition an diecreateAnchor-Funktion desAnchorableübergeben. (Ia851e) - "
AnchorUnsupportedObject" wurde entfernt. Sie wird nicht mehr von einer JXR ARCore-Laufzeit ausgelöst. (Ia851e) androidx.xr.arcore.Anchorundandroidx.xr.arcore.ArDeviceimplementieren jetztandroidx.xr.arcore.Trackable. (I57b65)Depth.left,Depth.rightundDepth.monosind jetzt nicht mehr nullfähig (I1fc5e)Face.getUserFaceist jetzt nicht mehr nullfähig (I0eac1)RenderViewpoint.left,RenderViewpoint.rightundRenderViewpoint.monosind jetzt nicht mehr nullfähig (Icf7fa)Hand.leftundHand.rightsind nicht nullfähig (Icef37).QrCodeAPI wurde hinzugefügt (Ia0bbe)
Version 1.0.0-alpha14
19. Mai 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha14 ist veröffentlicht. Version 1.0.0-alpha14 enthält diese Commits.
API-Änderungen
- Wir stellen
GeospatialMode.VPS_AND_GPSzugunsten vonGeospatialMode.SPATIALein und führen einen neuen Tracking-Modus mit geringerem Stromverbrauch ein,GeospatialMode.INERTIAL, der nur IMU und GPS verwendet. (I1e6cd) - Benutzerdefinierte Anker-Ausnahmeklassen:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionundAnchorUnsupportedObjectExceptionsind jetztRuntimeException-Instanzen, die nicht geprüft werden sollen. (I9356e) ArCoreTestRuleAPI hinzugefügt, einschließlichTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointundTestTrackable(I0ad3c)- Entfernt
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationundAnchorCreateNotAuthorized. Alle diese Fehler sind jetzt Ausnahmen in der Laufzeit. EntferntAnchorCreateIllegalState. In den meisten Fällen wurde sie durchAnchorCreateTrackingUnavailableersetzt. FügtAnchorExceptionund die abgeleiteten KlassenAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionundAnchorUnsupportedObjectExceptionhinzu. (I4c4dd)
Externer Beitrag
- Die
AugmentedImageAPI für benutzerdefiniertes Markertracking wurde hinzugefügt. (I0cf09)
Version 1.0.0-alpha13
6. Mai 2026
androidx.xr.arcore:arcore-*:1.0.0-alpha13 ist veröffentlicht. Version 1.0.0-alpha13 enthält diese Commits.
API-Änderungen
TrackingStateundVpsAvailabilityResultwurden inandroidx.xr.arcore packageverschoben und die Typen inandroidx.xr.runtimesind jetzt veraltet. (Ic7930, b/480462213)Plane.Typewurde inPlaneTypeumbenannt. (I8c90c, b/482675376)Hand.HandSidewurde inHandSideumbenannt. (Ica562, b/482675376)Plane.Labelwurde inPlaneLabelumbenannt. (Ic6b67, b/482675376)Geospatial.Surfacewurde inGeospatialSurfaceumbenannt. (I1a8be, b/482675376)Geospatial.Statewurde inGeospatialStateumbenannt. (I203fa, b/482675376)- Die
NativeDataAPI wurde in diexr:runtime:runtime-Bibliothek verschoben. (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.FieldOfViewwurde verworfen. Verwenden Sie stattdessenandroidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045)- Orbiter verwendet jetzt entweder ein
OrbiterAnchorPoint + VolumeOffsetoder einOrbiterPoseProvideranstelle von position, offset, offsetType, alignment und elevation. Außerdem wurde der ParametershouldRenderInNonSpatialentfernt. Wenn der Entwickler nicht möchte, dass der Orbiter in nicht räumlichen Umgebungen gerendert wird, sollte er ihn in eine if-Anweisung einfügen undSpatialCapabilitiesprüfen. (I9fbb3, b/462428503) - Verschiebbare Modifikatoren hinzugefügt. Diese Modifikatoren funktionieren derzeit gut für
SpatialPanelsundSpatialExternalSurface. Bald werden sie auch fürSpatialGltfModelsunterstützt. Es ist jedoch geplant, dass diese für alleSubspaceComposablesgut unterstützt werden. (I9a3cd, b/479530787, b/478935063, b/478935063) - Entwickler müssen den
ArDevice.state-Ablauf zur ÜberwachungState.trackingStateeinhalten und die Darstellung oder Warnungen ihrer Anwendung entsprechend der Tracking-Genauigkeit anpassen. (Ic00f0, b/445466590) - Die Enum-Werte
HandJointTypewurden umbenannt. (Ifbc83, b/482670596) FaceConfidenceRegion-Konstanten wurden umbenannt. (Ia62d5, b/482670596)FaceBlendShapeType-Konstanten wurden umbenannt. (I33b8b, b/482670596)CreatePoseFromGeospatialPoseErrorInternalundCreateGeospatialPoseFromPoseErrorInternalhinzugefügt. (I4bcf1, b/482666615)DeviceTrackingMode.LAST_KNOWNwurde inSPATIAL_LAST_KNOWNumbenannt (mit einem eingestellten Fallback),INERTIAL_LAST_KNOWNfür das 3DoF-Tracking wurde hinzugefügt undTRACKING_DEGRADEDwurdeTrackingStatehinzugefügt. (Ie661c, b/445466590)GroupEntityeingestellt. Wenn Sie eine Entity mit nur der grundlegenden Entity-Funktionalität haben möchten, rufen SieEntity.createauf. Dadurch wird eine Entity-Schnittstelle zurückgegeben. (I4c450, b/473867483)- Die
XrLogAPI wurde hinzugefügt. Setzen SieXrLog.isEnabledauftrue, um das Logging in JetpackXR zu aktivieren, und verwenden SieXrLog.Level, um die Protokollierungsebene festzulegen. (I76a1f, b/463460895, b/487378441)
Fehlerkorrekturen
- Füge die Unterstützung für den Gerätestatus zur Geräteverfolgung zu den OpenXR-Geräten hinzu. (I91485, b/445466590)
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 die Übergabe eines Android-Kontexts für die Ressourcenbereichsbegrenzung zu ermöglichen. (I7d3fe, b/415805990, b/477386334) - Ändert
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITinFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - Die
TiltGestureAPI wird als experimentell eingestuft, da sie in Zukunft geändert oder entfernt werden kann. Wenn Sie diese API verwenden möchten, aktivieren Sie@ExperimentalGesturesApi(Ic9858). - Es wurde die Möglichkeit hinzugefügt, Kategorien für das
AugmentedObject-Tracking in der Konfiguration festzulegen (I1f6e4, b/480220930).
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 wird eingeführt, die eine reaktiveFlowfür die stabile Erkennung des Geräteneigungsstatus (UP/DOWN) mit Übergangsprozess bietet. (Ic269f, b/448152779) - ARCore für Jetpack XR verwendet jetzt den XR Runtime Logging-Mechanismus. Weitere Informationen finden Sie unter
androidx.xr.runtime.Log. (l52735, b/448697662)
API-Änderungen
Geospatial.createPoseFromGeospatialPosefunktioniert jetzt auf OpenXR-kompatiblen 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 die Google Play-Dienste für AR verfügbar sind.- Geospatial APIs für VPS-Verfügbarkeit und Pose-Konvertierung 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.
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 Unterstützung für Tests für
ARCorewurde zumxr:arcore:arcore-testing-Modul migriert. (I25469) ArDeviceundRenderViewpointwurden hinzugefügt, damit Anwendungen die Geräteposition und die Displaykonfiguration für das Rendern abrufen können. (Ib7e3f)- Benennen Sie
HandJointType-Enums mit dem PräfixHAND_JOINT_TYPE_um. (I3f7cd) HandJointTypewurde vonxr:runtime:runtimenachxr:arcore:arcoreverschoben. (Iadb9c, b/409058039)Hand.Statestellt jetzt einejava.nio.FloatBuffermit den gemeinsamen Posen in einem Format zur Verfügung, das einen einfachen Zugriff auf leistungsbezogene 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
- Füge
getPrimaryHandSidehinzu, damit der Entwickler die Informationen auf der rechten Seite (I270bd) erhält. - Geospatial Check VPS Availability API hinzufügen (I58573)
- ARCore API für
checkVpsAvailability(Idbded) hinzufügen stateFlowable-Erweiterungsfunktionen, die:xr:arcore:arcore-rxjava3für die Verwendung durch Java-Entwickler hinzugefügt wurden. (I083aa, b/427247794)
API-Änderungen
- Die Config-Werte
*Modewurden umbenannt, um ihr Verhalten besser widerzuspiegeln. (I6d247, b/414648065) - Das Haupt-ARCore-Artefakt (xr:arcore:arcore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können die
xr:arcore:arcore-rxjava3-Bibliothek verwenden, um auf kompatible APIs zuzugreifen. (Ia525e, b/422794329) - Das Haupt-ARCore-Artefakt (
xr:scenecore:scenecore) enthält nur asynchrone APIs im Kotlin-Stil. Java-Entwickler können diexr:arcore:arcore-guava-Bibliothek verwenden, um auf kompatible APIs zuzugreifen. (Iffcb4, b/422773524) Anchor.persistAsync()wurdeAnchorGuavazur Verwendung durch Java-Entwickler hinzugefügt. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)wurdeEarthGuavazur Verwendung durch Java-Entwickler hinzugefügt. (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) subscribeAsFlowable-Erweiterungsfunktionen, die:xr:arcore:arcore-rxjava3für die Verwendung durch Java-Entwickler hinzugefügt wurden. (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
- Für Projekte, die mit Kotlin 2.0 veröffentlicht wurden, ist KGP 2.0.0 oder höher erforderlich. (Idb6b5)
TrackingStateundHandJointTypewurden von ARCore zur Laufzeit 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 wird 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.arcore:arcore:1.0.0-alpha02 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Neue Funktionen
- Unterstützung für Handtracking 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.
Diverse Fehlerkorrekturen
Anchor.detachführt nicht mehr zu einem schwerwiegenden Absturz aufgrund einer Race-Bedingung 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 for Jetpack XR-Bibliothek ist von der vorhandenen ARCore-Bibliothek inspiriert und bietet Funktionen zum Einblenden digitaler Inhalte in die reale Welt. Diese Bibliothek umfasst unter anderem Funktionen für die Bewegungserkennung, persistente Anker, Hit-Tests und die Erkennung von Ebenen mit semantischer Kennzeichnung (z. B. Boden, Wände und Tischplatten). Entwicklerleitfaden
Session: ARCore für Jetpack XR nutzt die Jetpack XR-Laufzeit, um seine Funktionen zu ermöglichen. Für die meisten ARCore für Jetpack XR-APIs benötigen Sie eine Sitzung. Sehen Sie sich daher die Dokumentation dazu an.Plane: Mit Ebenen können Sie die Welt um sich herum besser verstehen. Jede Ebene hat einLabel, das sie semantisch beschreibt. Mitsubscribekönnen Sie sich über die zuletzt erkannten Flugzeuge benachrichtigen lassen und mitstateüber Änderungen an einem bestimmten Flugzeug.Anchor: Eine Verknüpfung zwischen einem virtuellen Objekt und einem realen Ort. Anker können an einer bestimmten Stelle im Raum (mitcreate) oder an einemTrackable(mitcreateAnchor) angebracht werden.Anker können sitzungsübergreifend wiederverwendet werden. Sie können
persistverwenden, um sie zu speichern,getPersistedAnchorUuids, um sie aufzulisten, undload, um sie abzurufen.unpersistSie sie, sobald sie nicht mehr verwendet werden.Anker sind zwischen ARCore für Jetpack XR und Jetpack SceneCore interoperabel. Sie können ein
AnchorEntitymit einem Anker erstellen. Wenn Sie bereits eine AnchorEntity haben, können Sie mitgetAnchorden zugehörigen Anker abrufen.Bieten Sie natürliche Nutzerinteraktionen mit
hitTest. Bei einem Hit-Test wird einRayverwendet, um zu ermitteln, welche Inhalte es schneidet, und um an dieser Stelle einAnchorzu erstellen. Führen Sie einen Hit-Test über einInputEventaus.
Bekannte Probleme
Zwischen dem Aufrufen von
unpersistund dem Entfernen der zugehörigen UUID aus den Ergebnissen, die vongetPersistedAnchorUuidszurückgegeben werden, kann es zu einer Verzögerung kommen.Mit
createwird nicht geprüft, ob das System genügend Ressourcen hat, um neue Anker zurückzugeben. Wenn Sie zu viele Anker erstellen, kann das zu einem Absturz führen.Das Speichern eines Ankers, der zuvor gespeichert und dann wieder entfernt wurde, wird derzeit nicht unterstützt.
Die Verwendung im Emulator wird unterstützt, das Verhalten ist jedoch möglicherweise nicht so stabil wie auf einem tatsächlichen Gerät. Insbesondere Aufrufe von
createkönnen mit einem nativen Codefehler fehlschlagen und die Aktivität sofort beenden.Unter bestimmten Umständen kann beim Aufrufen von
persistmit der Meldung „Anchor was not persisted“ (Anker wurde nicht gespeichert) fälschlicherweise eineRuntimeExceptionausgelöst werden. In diesen Fällen ist die Funktion trotzdem erfolgreich und der Anker wird gespeichert. Als Workaround empfehlen wir, den Aufruf vonpersistin einentry-Block einzuschließen.