Środowisko wykonawcze XR
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 25 lutego 2026 r. | - | - | - | 1.0.0-alpha11 |
Deklarowanie zależności
Aby dodać zależność od środowiska wykonawczego XR, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule Repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha11" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha11" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha11" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha11" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha11") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha11") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha11") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha11") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.0
Wersja 1.0.0-alpha11
25 lutego 2026 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha11 Wersja 1.0.0-alpha11 zawiera te zmiany.
Zmiany w interfejsie API
- Ograniczenie interfejsu
ConfigModedo użytku wewnętrznego (Ibfb87) - Przeniesiono
androidx.xr.runtime.Config.GeospatialModena poziom pakietu (Ibe682) - Element
androidx.xr.runtime.Config.FaceTrackingModezostał przeniesiony na poziom pakietu (Iac501) - Przeniesiono
androidx.xr.runtime.Config.AnchorPersistenceModena poziom pakietu (I0360f) - Przeniesiono
androidx.xr.runtime.Config.DepthEstimationModena poziom pakietu (I7e3e9) - Przeniesiono
androidx.xr.runtime.Config.DeviceTrackingModena poziom pakietu (I3aacd) - Przeniesiono
androidx.xr.runtime.Config.HandTrackingModena poziom pakietu (I658f3) - Przeniesiono
androidx.xr.runtime.Config.PlaneTrackingModena poziom pakietu (Ia251b) - Przeniesiono
androidx.xr.runtime.XrDevice.DisplayBlendModena poziom pakietu (I6f333) - Dodaliśmy metodę fabryczną do tworzenia obiektu
XrDeviceza pomocą obiektu Context, Session iCoroutineContext. (I139c5) - Dodaliśmy
SpatialApiVersionHelper, aby ułatwić wysyłanie zapytań o wersję środowiska wykonawczego Androida XR dostępną na platformie. (I7c53c) - Dodano moduł
xr:runtime:runtime-openxr(Ib42ea)
Wersja 1.0.0-alpha10
28 stycznia 2026 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha10 Wersja 1.0.0-alpha10 zawiera te zmiany.
Zmiany w interfejsie API
ConfigMode.HeadTrackingModezostanie zastąpione przezConfigMode.HeadTrackingMode. (le273e, b/467150206)- Usunięto metody
toNormalized,times(float)idiv(float)klasy Quaternion. Te metody są zbędne, ponieważ wszystkie kwaterniony są normalizowane w momencie tworzenia, a klasa jest niezmienna. (l558fc, b/460210457)
Poprawki błędów
- Dodaliśmy dokumentację do
Session.create, która pokazuje, jak uniknąć tworzenia sesji w głównym wątku aplikacji. (le5554, b/463687170) - Uniemożliwiono aplikacjom tworzenie elementu
BoundingBoxz wartościąNaN. (l58c14, b/464025895)
Wersja 1.0.0-alpha09
3 grudnia 2025 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zmiany.
Wersja 1.0.0-alpha08
19 listopada 2025 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha08 Wersja 1.0.0-alpha08 zawiera te zmiany.
Nowe funkcje
XrDevicedodano, aby podać informacje o możliwościach urządzenia. (Ic9d1f)- Dodano nowy
ConfigMode.isSupportedinterfejs API do wysyłania zapytań o możliwości sesji. (Iff7af) - Dodano interfejs
XrDisplay.BlendModeAPI. (I484e4)
Zmiany w interfejsie API
- Zmieniono nazwę [XrDevice.getPreferredBlendMode] na [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
Wersja 1.0.0-alpha07
22 października 2025 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha07 Wersja 1.0.0-alpha07 zawiera te zmiany.
Zmiany w interfejsie API
- Usuń
SessionConfigureConfigureNotSupportedi zastąp goUnsupportedOperationException. (I7680f)
Wersja 1.0.0-alpha06
24 września 2025 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha06 Wersja 1.0.0-alpha06 zawiera te zmiany.
Zmiany w interfejsie API
HandJointTypezostał przeniesiony zxr:runtime:runtimedoxr:arcore:arcore. (Iadb9c, b/409058039)- Zmiana operatora mnożenia
componentWiseMultiplicationnaVector2,Vector3,Vector4w celu skalowania i usunięcie symbolu operatora w celu zachowania spójności z innymi bibliotekami matematycznymi. Usunięcie teżcomponentWiseDivisionz klas Vector na rzecz używaniaVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Dodanie [unscaled] spowoduje zwrócenie macierzy ze skalą równą 1. (I6381d, b/434928658)
:xr:runtime:runtime-guavazostanie usunięty, ponieważCoroutines.ktzostał zastąpiony przezSuspendtoFutureAdapter. (I0cd3c, b/406597902)
Wersja 1.0.0-alpha05
30 lipca 2025 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha05 Wersja 1.0.0-alpha05 zawiera te zmiany.
Nowe funkcje
- Dodaj
HandJointTypeiTrackingState. (I55880, b/334645808) - Udostępnij implementację konfiguracji publicznie. (I95860, b/334645808)
- Wprowadziliśmy nowe typy
SessionCreateResultiSessionConfigureResult. (Icb8cb, b/334645808) - Dodaj nową klasę
BoundingBox, która reprezentuje prostopadłościenny obszar ograniczający w przestrzeni 3D, zdefiniowany przez minimalne i maksymalne punkty narożne. (Ic68c5, b/423073468)
Zmiany w interfejsie API
- Zmieniono nazwę i przeniesiono
androidx.xr.scenecore.PixelDimensionsdoandroidx.xr.runtime.math.IntSize2d. Zmieniono nazwę i przeniesionoandroidx.xr.scenecore.Dimensionsdoandroidx.xr.runtime.math.FloatSize3d. Zmieniono nazwęandroidx.xr.scenecore.PlaneTypenaandroidx.xr.scenecore.PlaneOrientation. Zmieniono nazwęandroidx.xr.scenecore.PlaneSemanticnaandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228) - Usunięto zajęcia
androidx.xr.runtime.FoV. Zamiast niej używaj zasadyandroidx.xr.runtime.FieldOfView. (I9ae27) - Dodano dodatkowe przeciążenie dla
Session.create, które może zapewnićLifecycleOwnerdla sesji, do której można się przyłączyć. Pamiętaj, że w przypadku własności zasobu nadal musisz podać aktywność, a właściwośćLifecycleOwnermusi być ograniczona do aktywności. (I1690b) - Nazwa
FakeRuntimeAnchor.anchorsCreatedzostała zmieniona naanchorsCreatedCount(I96df9, b/424441218) - Nazwy wartości konfiguracji
*Modezostały zmienione, aby odzwierciedlały ich działanie. (I6d247, b/414648065) - Projekty wydane w Kotlinie 2.0 wymagają użycia KGP w wersji 2.0.0 lub nowszej (Idb6b5, b/344563182).
- Interfejsy API powiązane z ciągami znaków w pliku manifestu zostały przeniesione z
:xr:runtime:runtimedo:xr:runtime:runtime-manifest. Nazwa pakietu zmieniła się zandroidx.xr.runtimenaandroidx.xr.runtime.manifest. (I610ad, b/418800249) - Usunięto z interfejsu API elementy
Session.resume(),Session.pause()iSession.destroy(). Sesja nie jest jużLifecycleOwner. Cykl życia sesji będzie teraz powiązany z cyklem życia działania przekazanego wSession.create(). (I28a03) - Ta biblioteka korzysta teraz z adnotacji o wartości null JSpecify, które są używane w typie. Deweloperzy Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict(jest to domyślne ustawienie od wersji 2.1.0 kompilatora Kotlin) (Ia8420, b/326456246) - Główny artefakt środowiska wykonawczego (
:xr:runtime:runtime) będzie zawierać tylko asynchroniczne interfejsy API w stylu Kotlin. Programiści Java mogą korzystać z:xr:runtime:runtime-guava, aby uzyskiwać dostęp do zgodnych interfejsów API. (I05d4a, b/426639315) - Główny artefakt środowiska wykonawczego (
:xr:runtime:runtime) będzie zawierać tylko asynchroniczne interfejsy API w stylu Kotlin. Programiści Java mogą korzystać z bibliotekixr:runtime:runtime-rxjava3, aby uzyskiwać dostęp do zgodnych interfejsów API. (I64122, b/426639775) - Przenieś korutyny do
:xr:runtime:runtime-guava, a Flows do:xr:runtime:runtime-rxjava3. (I60ae9) Session.createiSession.configurezwracają terazSecurityException, gdy nie przyznano wystarczających uprawnień, zamiast zwracaćSessionCreatePermissionsNotGrantedlubSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Wersja 1.0.0-alpha04
7 maja 2025 r.
androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 i androidx.xr.runtime:runtime-testing:1.0.0-alpha04 są dostępne. Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Sesja implementuje teraz
androidx.lifecycle.LifecycleOwner, co zapewnia większą interoperacyjność z dotychczasowymi paradygmatami cyklu życia Androida. - Ciągi tekstowe manifestu dla Androida XR są określone i udokumentowane tutaj.
- Dodano metody rozszerzenia wywołania zwrotnego widoczności przestrzennej, aby monitorować, kiedy zawartość sceny przesuwa się w obrębie pola widzenia użytkownika lub poza nie.
- Dodaliśmy wersję szkieletową
JxrPlatformAdapter(i wszystkich powiązanych z nią klas). - Sesja będzie używana zarówno w przypadku
SceneCore, jak i czasu działania zamiast sesji wSceneCore. - Dodano emotikon
ActivityPose.hitTest, który umożliwiahitTestw przypadku treści wirtualnych. - Określanie wielu implementacji środowiska wykonawczego w czasie kompilacji jest teraz obsługiwane. W czasie wykonywania zostanie wczytana tylko jedna z nich, w zależności od zestawu funkcji bieżącego urządzenia.
- Dodano nowy typ komponentu
SpatialPointerComponent, który umożliwia klientom określenie ikony renderowanej dla wskaźnika lub wyłączenie ikony. Ten komponent można obecnie dołączać tylko do instancjiPanelEntity.
Zmiany w interfejsie API
- Udostępnij implementację konfiguracji publicznie. (I95860)
- Dodaj
HandJointTypeiTrackingState. (I55880) - Projekty wydane w Kotlinie 2.0 wymagają KGP 2.0.0 lub nowszego (Idb6b5).
- Wartość
Hand.isActive (boolean)została zmieniona naHand.trackingState. Implementacja usługiOpenXRzostała odpowiednio zmodyfikowana. - Wymaganie uprawnień
android.permission.SCENE_UNDERSTANDINGwSession.configurezostało zmienione naandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configurejest zaimplementowana i teraz przekazuje obiektConfig, który zawiera właściwość dla każdej funkcji środowiska wykonawczego, którą można skonfigurować.Session.configuremożna teraz wywołać za pomocąConfig, aby skonfigurować dostępne funkcje środowiska wykonawczego.Session.createobsługuje teraz przekazywanieCoroutineContextzamiastCoroutineDispatcher.Session.createobsługuje ładowanieARCorew przypadku Jetpack XR lubSceneCore. Musisz podać co najmniej 1 wartość (dostępne są wersje testowe).FakePerceptionManagerzgłaszaAnchorInvalidUuidException, gdy do funkcjiAnchor.loadiAnchor.unpersistprzekazywany jest nieprawidłowy identyfikator UUID.CoreStatenie jest już klasą danych.
Poprawki błędów
- Naprawiono konfiguracje ProGuard w środowisku wykonawczym.
Wersja 1.0.0-alpha03
26 lutego 2025 r.
Wersje androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 i androidx.xr.runtime:runtime-testing:1.0.0-alpha03 nie zawierają żadnych istotnych zmian w porównaniu z ostatnią wersją alfa. Wersja 1.0.0-alpha03 zawiera te zmiany.
Wersja 1.0.0-alpha02
12 lutego 2025 r.
androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 i androidx.xr.runtime:runtime-testing:1.0.0-alpha02 są dostępne. Wersja 1.0.0-alpha02 zawiera te zmiany.
Zmiany w zachowaniu i łamanie zasad
- Funkcje środowiska wykonawczego
OpenXR, które zwracają element Anchor, zgłaszają teraz błądAnchorResourcesExhaustedException, jeśli napotkają kod błędu informujący o osiągnięciu limitu zasobówOpenXR. - Uprawnienie
android.permission.HAND_TRACKINGjest teraz wymagane w przypadkuSession.createiSession.resume.
Nowe funkcje
- Dodano obsługę śledzenia rąk.
Poprawki błędów
- Tworzenie kotwic jest bardziej stabilne podczas korzystania z emulatora.
Wersja 1.0.0-alpha01
12 grudnia 2024 r.
Publikacja androidx.xr.runtime:runtime-* 1.0.0-alpha01
Funkcje pierwszej wersji
Pierwsza wersja środowiska wykonawczego Jetpack XR. Ta biblioteka zawiera podstawowe funkcje pakietu bibliotek Jetpack XR. Obejmuje to wykrywanie funkcji, zarządzanie cyklem życia, konfigurację i inne działania. Biblioteka środowiska wykonawczego udostępnia różne warianty (np. runtime-openxr lub runtime-testing) w zależności od platformy wykonawczej. Biblioteka ta oferuje też podstawowe abstrakcje matematyczne, takie jak Vector3 i Matrix4, które są używane w całym interfejsie Jetpack XR API.
Session: zapewnia precyzyjną kontrolę nad systemem XR, w tym możliwość decydowania, kiedy przetwarzanie jest wykonywane, a kiedy nie, oraz ogólną konfigurację. Jest to też uchwyt, którego będziesz używać we wszystkich innych interfejsach API, aby odblokować podstawowe funkcje systemu.Pose: lokalizacja w dowolnym układzie współrzędnych, która ma przypisane położenie i orientację. Ta klasa będzie służyć do przekazywania informacji o lokalizacji obiektów do ARCore na potrzeby Jetpack XR i Jetpack SceneCore.
Znane problemy
configurenie ma obecnie żadnego działania. W przyszłych wersjach dodamy nowe ustawienia, których możesz używać do kontrolowania działaniaSession.