Środowisko wykonawcze XR
| Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja beta | Wersja alfa |
|---|---|---|---|---|
| 6 maja 2026 r. | - | - | - | 1.0.0-alpha13 |
Deklarowanie zależności
Aby dodać zależność od środowiska wykonawczego XR, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności od potrzebnych artefaktów w pliku build.gradle aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha13" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha13") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha13") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z istniejącymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów Issue Tracker documentation.
Wersja 1.0
Wersja 1.0.0-alpha13
6 maja 2026 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha13 Wersja 1.0.0-alpha13 zawiera te zmiany.
Zmiany w interfejsie API
- Elementy
TrackingStateiVpsAvailabilityResultzostały przeniesione doandroidx.xr.arcore package, a typy wandroidx.xr.runtimezostały wycofane. (Ic7930, b/480462213) - Funkcja
Session.getNativeData()jest teraz zdefiniowana w modulexr:runtime:runtimei udostępnia element [nativeFunctionTablePointer] dla środowisk wykonawczych opartych na OpenXR. (Ifa862) - Przeniesiono interfejs API
NativeDatado bibliotekixr:runtime:runtime. (I87954, b/494251500) - Funkcje
Session.createiSession.configurenie są już wyczerpujące i wymagają klauzuli else w instrukcjach when. (I9885e, b/495805998, b/495805998) - Funkcja
androidx.xr.runtime.FieldOfViewzostała wycofana. Użyj zamiast niej funkcjiandroidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045) - Nazwa funkcji
Matrix4.posezostała zmieniona naMatrix4.toPose(). Właściwość pose została wycofana. (I329b4, b/493383490) - Dodano interfejs API
XrServiceAvailability(If379e, b/493558010) - Dodano adnotację
ExperimentalXrServiceAvailabilityApi(Icab49, b/491069725) - Usuń sufiks dla
@PreviewSpatialApi(If5242, b/491939311) - Zmieniono nazwę
DeviceTrackingMode.LAST_KNOWNnaSPATIAL_LAST_KNOWN(z wycofanym rezerwowym), dodanoINERTIAL_LAST_KNOWNdo śledzenia 3DoF i dodanoTRACKING_DEGRADEDdoTrackingState. (Ie661c, b/445466590) - Dodano interfejs API
XrLog. Ustaw wartośćXrLog.isEnablednatrue, aby włączyć logowanie w JetpackXR, i użyj [XrLog.Level], aby ustawić poziom logowania. (I76a1f, b/463460895, b/487378441) - Dodanie
DISPLAY_CATEGORY_XR_PROJECTED. Ta stała jest używana w pliku manifestu, aby wskazać, że aktywność jest przeznaczona na wyświetlacz XR (I26d8b).
Wersja 1.0.0-alpha12
25 marca 2026 r.
Publikacja androidx.xr.runtime:runtime-*:1.0.0-alpha12 Wersja 1.0.0-alpha12 zawiera te zmiany.
Zmiany w interfejsie API
- Zmieniono
Config.augmentedObjectCategoriesz listy na zbiór (I25a64, b/487376359). - Usunięto flagę
unscaledGravityAlignedActivitySpacezSession.create. ElementActivitySpacejest teraz zawsze nieskalowany i wyrównany do grawitacji. (If6f11, b/458173423) - Dodano przeciążenie
Session.create, aby umożliwić przekazywanie kontekstu Androida do określania zakresu zasobów. (I7d3fe, b/415805990, b/477386334) - Dodano
JvmOverloadsdoFloatSize2d.to3d,Matrix3.copyiMatrix4.copy(I69586, b/481371562). - Dodano możliwość ustawiania kategorii śledzenia
AugmentedObjectw konfiguracji (I1f6e4, b/480220930). - Dodano moduł
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
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
- Ograniczono interfejs
ConfigModedo użytku wewnętrznego (Ibfb87). - Przeniesiono
androidx.xr.runtime.Config.GeospatialModena poziom pakietu (Ibe682). - Przeniesiono
androidx.xr.runtime.Config.FaceTrackingModena 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). - Dodano metodę fabryczną do tworzenia elementu
XrDeviceza pomocą kontekstu, sesji iCoroutineContext. (I139c5) - Dodano
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
- Element
ConfigMode.HeadTrackingModezostał zastąpiony elementemConfigMode.DeviceTrackingMode. (le273e, b/467150206) - Usunięto metody
toNormalized,times(float)idiv(float)z kwaternionu. Te metody są zbędne, ponieważ wszystkie kwaterniony są normalizowane w czasie tworzenia i klasa jest niezmienna. (l558fc, b/460210457)
Poprawki błędów
- Dodano 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
- Dodano element
XrDevice, aby udostępniać informacje o możliwościach urządzenia. (Ic9d1f) - Dodano nowy interfejs API
ConfigMode.isSupporteddo wysyłania zapytań o możliwości sesji. (Iff7af) - Dodano interfejs API
XrDisplay.BlendMode. (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 go elementemUnsupportedOperationException. (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
- Element
HandJointTypezostał przeniesiony zxr:runtime:runtimedoxr:arcore:arcore. (Iadb9c, b/409058039) - Zmiana operatora times dla
componentWiseMultiplicationw przypadkuVector2,Vector3,Vector4na skalowanie i usunięcie symbolu operatora w celu zachowania spójności z innymi bibliotekami matematycznymi. Usunięcie teżcomponentWiseDivisionz klas Vector zamiast używaniaVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Dodanie [unscaled], aby zwracać macierz ze skalą równą 1. (I6381d, b/434928658)
- Element
:xr:runtime:runtime-guavazostanie usunięty, ponieważCoroutines.ktzostał zastąpiony elementemSuspendtoFutureAdapter. (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. (I95860, b/334645808)
- Wprowadzono nowe typy
SessionCreateResultiSessionConfigureResult. (Icb8cb, b/334645808) - Dodaj nową klasę
BoundingBox, która reprezentuje ramkę ograniczającą wyrównaną do osi w przestrzeni 3D, zdefiniowaną przez minimalne i maksymalne punkty narożne. (Ic68c5, b/423073468)
Zmiany w interfejsie API
- Zmieniono nazwę i przeniesiono
androidx.xr.scenecore.PixelDimensionsnaandroidx.xr.runtime.math.IntSize2d. Zmieniono nazwę i przeniesionoandroidx.xr.scenecore.Dimensionsnaandroidx.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 klasę
androidx.xr.runtime.FoV. Użyj zamiast niej funkcjiandroidx.xr.runtime.FieldOfView. (I9ae27) - Dodano dodatkowe przeciążenie dla
Session.create, które może udostępniaćLifecycleOwnerdo dołączenia do sesji. Pamiętaj, że aktywność nadal będzie musiała być udostępniana na potrzeby własności zasobów, aLifecycleOwnermusi być ograniczony do aktywności. (I1690b) - Zmieniono nazwę
FakeRuntimeAnchor.anchorsCreatednaanchorsCreatedCount(I96df9, b/424441218). - Nazwy wartości
*Modew konfiguracji zostały zmienione, aby odzwierciedlały ich działanie. (I6d247, b/414648065) - Projekty opublikowane w Kotlinie 2.0 wymagają użycia KGP 2.0.0 lub nowszego (Idb6b5, b/344563182).
- Interfejsy API związane z ciągami znaków w manifeście zostały przeniesione z
:xr:runtime:runtimedo:xr:runtime:runtime-manifest. Nazwa pakietu została zmieniona zandroidx.xr.runtimenaandroidx.xr.runtime.manifest. (I610ad, b/418800249) - Funkcje
Session.resume(),Session.pause()iSession.destroy()zostały usunięte z powierzchni interfejsu API. Sesja nie jest jużLifecycleOwner. Cykl życia sesji będzie teraz powiązany z cyklem życia aktywności przekazanej wSession.create(). (I28a03) - Ta biblioteka używa teraz adnotacji o wartości null JSpecify, które są używane w typach. 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. Deweloperzy Java mogą korzystać z:xr:runtime:runtime-guava, aby uzyskać 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. Deweloperzy Java mogą korzystać z bibliotekixr:runtime:runtime-rxjava3, aby uzyskać dostęp do zgodnych interfejsów API. (I64122, b/426639775) - Przenieś procedury do
:xr:runtime:runtime-guava, a przepływy do:xr:runtime:runtime-rxjava3. (I60ae9) - Funkcje
Session.createiSession.configurezgłaszają teraz wyjątekSecurityException, gdy nie przyznano wystarczających uprawnień, zamiast zwracaćSessionCreatePermissionsNotGrantedlubSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Wersja 1.0.0-alpha04
7 maja 2025 r.
Publikacja 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 Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Sesja implementuje teraz
androidx.lifecycle.LifecycleOwner, aby zapewnić większą interoperacyjność z dotychczasowymi paradygmatami cyklu życia Androida. - Ciągi znaków w pliku manifestu Androida XR są określone i opisane tutaj.
- Dodano metody rozszerzające wywołania zwrotne widoczności przestrzennej, aby monitorować, kiedy treści sceny przesuwają się wewnątrz lub na zewnątrz pola widzenia użytkownika.
- Dodano wersję zastępczą
JxrPlatformAdapter(i wszystkich powiązanych z nią klas). - Zamiast sesji w
SceneCorewSceneCorei środowisku wykonawczym będzie używana sesja. - Dodano
ActivityPose.hitTest, co umożliwiahitTestw przypadku treści wirtualnych. - Obsługiwane jest teraz określanie wielu implementacji środowiska wykonawczego w czasie kompilacji. W czasie wykonywania zostanie załadowana tylko jedna implementacja na podstawie zestawu funkcji bieżącego urządzenia.
- Dodano nowy typ komponentu
SpatialPointerComponent, który umożliwia klientom określanie ikony renderowanej dla wskaźnika lub wyłączanie ikony. Ten komponent można obecnie dołączać tylko do instancjiPanelEntity.
Zmiany w interfejsie API
- Udostępnij implementację konfiguracji. (I95860)
- Dodaj
HandJointTypeiTrackingState. (I55880) - Projekty opublikowane w Kotlinie 2.0 wymagają użycia KGP 2.0.0 lub nowszego (Idb6b5).
- Element
Hand.isActive (boolean)został zmieniony naHand.trackingState. ImplementacjaOpenXRzostała odpowiednio zmodyfikowana. - Wymaganie uprawnienia
android.permission.SCENE_UNDERSTANDINGwSession.configurezostało zmienione naandroid.permission.SCENE_UNDERSTANDING_COARSE. - Zaimplementowano
LifecycleManager.configure, który przekazuje teraz obiektConfigzawierający właściwość dla każdej konfigurowalnej funkcji środowiska wykonawczego. - Funkcję
Session.configuremożna teraz wywoływać za pomocąConfig, aby skonfigurować dostępne funkcje środowiska wykonawczego. - Funkcja
Session.createobsługuje teraz przekazywanieCoroutineContextzamiastCoroutineDispatcher. - Funkcja
Session.createobsługuje wczytywanieARCoredla Jetpack XR lubSceneCore. Musisz podać co najmniej 1 (dostępne są wersje testowe). - Funkcja
FakePerceptionManagerzgłasza wyjątekAnchorInvalidUuidException, gdy do funkcjiAnchor.loadiAnchor.unpersistzostanie przekazany nieprawidłowy identyfikator UUID. - Element
CoreStatenie jest już klasą danych.
Poprawki błędów
- Naprawiono konfiguracje ProGuard środowiska wykonawczego.
Wersja 1.0.0-alpha03
26 lutego 2025 r.
Publikacja 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 bez istotnych zmian od ostatniej wersji alfa. Wersja 1.0.0-alpha03 zawiera te zmiany.
Wersja 1.0.0-alpha02
12 lutego 2025 r.
Publikacja 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 Wersja 1.0.0-alpha02 zawiera te zmiany.
Istotne zmiany i zmiany w działaniu
- Funkcje środowiska wykonawczego
OpenXR, które zwracają kotwicę, zgłaszają teraz wyjątekAnchorResourcesExhaustedException, jeśli napotkają kod błędu informujący o osiągnięciu limitu zasobówOpenXR. - Do funkcji
Session.createiSession.resumewymagane jest teraz uprawnienieandroid.permission.HAND_TRACKING.
Nowe funkcje
- Dodano obsługę śledzenia rąk.
Poprawki błędów
- Tworzenie kotwic jest bardziej stabilne podczas działania na emulatorze.
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 możliwości, zarządzanie cyklem życia, konfigurację i inne funkcje. Biblioteka środowiska wykonawczego udostępnia różne warianty (np. runtime-openxr lub runtime-testing) w zależności od platformy wykonawczej. Dodatkowo ta biblioteka oferuje podstawowe abstrakcje matematyczne, takie jak Vector3 i Matrix4, które są używane w całym interfejsie API Jetpack XR.
Session: zapewnia precyzyjną kontrolę nad systemem XR, w tym decydowanie, 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 możliwości systemu.Pose: lokalizacja w dowolnym układzie współrzędnych, z którą powiązane są pozycja i orientacja. Ta klasa będzie używana do komunikowania lokalizacji obiektów z ARCore dla Jetpack XR i Jetpack SceneCore.
Znane problemy
configurejest obecnie operacją pustą. W przyszłych wersjach dodamy nowe ustawienia, których będzie można używać do kontrolowania działaniaSession.