Środowisko wykonawcze XR
Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
30 lipca 2025 r. | - | - | - | 1.0.0-alpha05 |
Deklarowanie zależności
Aby dodać zależność od środowiska wykonawczego XR, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha05" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha05") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05") }
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 nową kartę, zapoznaj się z dotychczasowymi 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 Issue Tracker.
Wersja 1.0
Wersja 1.0.0-alpha05
30 lipca 2025 r.
Zostanie wycofaneandroidx.xr.runtime:runtime-*:1.0.0-alpha05
Wersja 1.0.0-alpha05 zawiera te commity.
Nowe funkcje
- Dodaj
HandJointType
iTrackingState
. (I55880, b/334645808) - Udostępnij implementację konfiguracji publicznie. (I95860, b/334645808)
- Wprowadziliśmy nowe typy robotów
SessionCreateResult
iSessionConfigureResult
. (Icb8cb, b/334645808) - Dodaj nową klasę
BoundingBox
, która reprezentuje prostopadłościan 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.PixelDimensions
doandroidx.xr.runtime.math.IntSize2d
. Zmieniono nazwę i przeniesionoandroidx.xr.scenecore.Dimensions
doandroidx.xr.runtime.math.FloatSize3d
. Zmieniono nazwęandroidx.xr.scenecore.PlaneType
naandroidx.xr.scenecore.PlaneOrientation
. Zmieniono nazwęandroidx.xr.scenecore.PlaneSemantic
naandroidx.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ćLifecycleOwner
dla sesji, do której można się przyłączyć. Pamiętaj, że w przypadku własności zasobu nadal musisz podać działanie, a właściwośćLifecycleOwner
musi być ograniczona do działania. (I1690b) - Nazwa
FakeRuntimeAnchor.anchorsCreated
została zmieniona naanchorsCreatedCount
(I96df9, b/424441218) - Nazwy wartości konfiguracji
*Mode
zostały zmienione, aby odzwierciedlały ich działanie. (I6d247, b/414648065) - Projekty wydane w Kotlinie 2.0 wymagają używania KGP 2.0.0 lub nowszego (Idb6b5, b/344563182).
- Interfejsy API powiązane z ciągami znaków w pliku manifestu zostały przeniesione z
:xr:runtime:runtime
do:xr:runtime:runtime-manifest
. Nazwa pakietu zmieniła się zandroidx.xr.runtime
naandroidx.xr.runtime.manifest
. (I610ad, b/418800249) Session.resume()
,Session.pause()
iSession.destroy()
zostały usunięte z 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. Programiści 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 przepływy do:xr:runtime:runtime-rxjava3
. (I60ae9) Session.create
iSession.configure
zwracają terazSecurityException
, gdy nie przyznano wystarczających uprawnień, zamiast zwracaćSessionCreatePermissionsNotGranted
lubSessionConfigurePermissionsNotGranted
. (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ą zwalniane. Wersja 1.0.0-alpha04 zawiera te zmiany.
Nowe funkcje
- Sesja implementuje teraz
androidx.lifecycle.LifecycleOwner
, co zapewnia większą interoperacyjność z dotychczasowymi wzorcami 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.
- Dodano wersję szkieletową
JxrPlatformAdapter
(i wszystkie powiązane z nią klasy). - Sesja będzie używana zarówno w przypadku
SceneCore
, jak i czasu działania, zamiast sesji w przypadkuSceneCore
. - Dodano emotikon
ActivityPose.hitTest
, który umożliwiahitTest
w przypadku treści wirtualnych. - Określanie wielu implementacji środowiska wykonawczego w czasie kompilacji jest teraz obsługiwane. W czasie wykonywania zostanie wczytany tylko jeden 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 doPanelEntity
instancji.
Zmiany w interfejsie API
- Udostępnij implementację konfiguracji publicznie. (I95860)
- Dodaj
HandJointType
iTrackingState
. (I55880) - Projekty wydane w Kotlinie 2.0 wymagają do użycia KGP w wersji 2.0.0 lub nowszej (Idb6b5).
- Wartość
Hand.isActive (boolean)
została zmieniona naHand.trackingState
. Implementacja usługiOpenXR
została odpowiednio zmodyfikowana. - Wymaganie uprawnień
android.permission.SCENE_UNDERSTANDING
wSession.configure
zostało zmienione naandroid.permission.SCENE_UNDERSTANDING_COARSE
. LifecycleManager.configure
jest zaimplementowana i teraz przekazuje obiektConfig
, który zawiera właściwość dla każdej funkcji środowiska wykonawczego, którą można skonfigurować.Session.configure
można teraz wywołać za pomocąConfig
, aby skonfigurować dostępne funkcje środowiska wykonawczego.Session.create
obsługuje teraz przekazywanieCoroutineContext
zamiastCoroutineDispatcher
.Session.create
obsługuje wczytywanieARCore
w przypadku Jetpack XR lubSceneCore
. Musisz podać co najmniej 1 wersję (dostępne są wersje testowe).FakePerceptionManager
zgłaszaAnchorInvalidUuidException
, gdy do funkcjiAnchor.load
iAnchor.unpersist
przekazywany jest nieprawidłowy identyfikator UUID.CoreState
nie jest już klasą danych.
Poprawki błędów
- Stałe konfiguracje ProGuard w czasie działania.
Wersja 1.0.0-alpha03
26 lutego 2025 r.
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
zostały udostępnione bez znaczących zmian w porównaniu z ostatnią wersją alfa. Wersja 1.0.0-alpha03 zawiera te commity.
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ą zwalniane. Wersja 1.0.0-alpha02 zawiera te zmiany.
Zmiany powodujące niezgodność i zmiany w zachowaniu
- 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_TRACKING
jest teraz wymagane w przypadkuSession.create
iSession.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.
Zostanie wycofaneandroidx.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. Ta biblioteka 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, z którą powiązane są pozycja i orientacja. Będziesz używać tej klasy do przekazywania ARCore informacji o lokalizacji obiektów w przypadku Jetpack XR i Jetpack SceneCore.
Znane problemy
configure
nie ma obecnie żadnego działania. W przyszłych wersjach dodamy nowe ustawienia, których możesz używać do kontrolowania działaniaSession
.