Aktualizacje pakietu Android XR SDK: przedstawiamy wersję przedpremierową dla programistów 4
5 minut czytania
Z przyjemnością udostępniamy dziś czwartą wersję przedpremierową pakietu SDK Android XR dla programistów. Nadal skupiamy się na ujednolicaniu tworzenia aplikacji na różne urządzenia, takie jak gogle, przewodowe okulary XR i inteligentne okulary. Aby nasza platforma była bardziej intuicyjna, wprowadzamy bardziej opisowe nazwy formatów. Okulary z AI to teraz okulary audio, a okulary z AI z wyświetlaczem to teraz okulary z wyświetlaczem. Zmiany te pojawią się w naszej dokumentacji od dziś.
Ta wersja zawiera wiele aktualizacji, które pomogą Ci tworzyć niesamowite aplikacje na urządzenia z XR, umożliwiać bardziej wciągające wrażenia na goglach XR i upraszczać tworzenie aplikacji rozszerzonej rzeczywistości na okularach audio i okularach z wyświetlaczem. Wkrótce oficjalnie przejdziemy do wersji beta naszych podstawowych bibliotek, w tym XR Runtime, Jetpack SceneCore i ARCore dla Jetpack XR.
Aby zapewnić Ci wczesny dostęp do sprzętu i zasobów do tworzenia wciągających i rozszerzonych treści na nadchodzących urządzeniach, takich jak okulary wyświetlające obraz i okulary audio oraz Project Aura od XREAL, ogłaszamy program Android XR Developer Catalyst. Dowiedz się więcej i prześlij zgłoszenie już dziś.
Tworzenie rozszerzonych doświadczeń na potrzeby okularów audio i wyświetlaczy
Czwarta wersja przedpremierowa dla programistów, która zawiera nasze biblioteki do tworzenia rozszerzonych funkcji, wprowadza nowe interfejsy API, które pomagają tworzyć i testować aplikacje.
Jetpack Projected: dostępność urządzeń i interfejsy ProjectedTestRule API
Biblioteka Jetpack Projected pomaga przenosić aplikacje z telefonu do pola widzenia użytkownika. Dodaliśmy interfejs Device Availability API,który łączy sygnały stanu urządzenia i łączności w standardowe wartości Androida Lifecycle.State. Dzięki temu możesz dostosowywać działanie aplikacji w zależności od tego, czy urządzenie jest noszone.
val xrDevice = XrDevice.getCurrentDevice(projectedContext) // Observe the device lifecycle flow xrDevice.getLifecycle().currentStateFlow .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is available (worn) */ } Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ } Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ } } }
Aby uprościć testowanie, nowy interfejs API ProjectedTestRule w artefakcie testowania prognozowanego automatyzuje konfigurowanie środowisk testowych. Ułatwia to pisanie przejrzystych i niezawodnych testów jednostkowych bez powtarzalnego kodu.
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact @get:Rule val projectedTestRule = ProjectedTestRule() @Test fun testProjectedContextInitialization() { // by default, ProjectedTestRule automatically creates and connects // a projected device before each test val projectedContext = ProjectedContext.createProjectedDeviceContext(context) // assert the projected context is successfully initialized assertThat(projectedContext).isNotNull() }
Jetpack Compose Glimmer: Google Sans Flex i nowe komponenty
Nasza biblioteka interfejsu do okularów z wyświetlaczem, Jetpack Compose Glimmer, zawiera teraz Google Sans Flex, co poprawia czytelność na optycznych wyświetlaczach przezroczystych. Dodaliśmy też kilka interaktywnych komponentów:
- Stosy: przeznaczone dla grup zoptymalizowanych pod kątem touchpada, wyświetlają po jednym elemencie naraz.
- Etykiety tytułów: zapewniają kategoryzację i kontekst kart treści.
Tworzenie środowisk immersyjnych na gogle XR i przewodowe okulary XR
Jeśli chcesz tworzyć w pełni immersyjne rozwiązania na gogle XR i przewodowe okulary XR, mamy dla Ciebie kilka ważnych nowości.
Przejście do wersji beta i nowoczesna architektura
Środowisko wykonawcze XR, Jetpack SceneCore i funkcje ARCore dla Jetpack XR (mapy głębi, śledzenie wzroku i dłoni, testowanie trafień i kotwice przestrzenne) wkrótce przejdą do wersji beta, dlatego uprościliśmy interfejsy Jetpack XR API. Usunęliśmy starsze pakiety Guava i RxJava3 na rzecz nowoczesnej architektury opartej na języku Kotlin.
Jetpack SceneCore: glTF i niestandardowe siatki
Rozszerzamy możliwości modeli 3D, dodając możliwość dostrajania modeli 3D i uzyskiwania dostępu do określonych węzłów w modelu 3D. Za pomocą GltfModelNode możesz modyfikować właściwości, takie jak pozycja, materiały i tekstury, a nawet uruchamiać animacje dla określonych węzłów.
// Create a new PBR material pbrMaterial = KhronosPbrMaterial.create( session = xrSession, alphaMode = AlphaMode.OPAQUE ) // Load a texture. val texture = Texture.create( session = xrSession, path = Path("textures/texture_name.png") ) // Apply the texture and configure occlusion to define how the material handles ambient lighting. pbrMaterial.setOcclusionTexture( texture = texture, strength = 0.5f ) // Access the hierarchy of nodes within the model entity. val entityNodes = entity.nodes // Find the specific node to apply the material override. val myEntityNode = entityNodes.find { it.name == "node_name" } // Apply the PBR material to the node. myEntityNode?.setMaterialOverride( material = newMaterial )
Wprowadzamy też niestandardowe siatki w SceneCore. Siatki niestandardowe umożliwiają programowe tworzenie geometrii na bieżąco, co jest idealne do tworzenia niestandardowych modeli 3D. Ta funkcja zostanie wprowadzona w wersji eksperymentalnej, więc wypróbuj ją i daj nam znać, co o niej myślisz.
// Create the mesh val roadMesh = CustomMesh.BuilderFromMeshData(session, roadVertexLayout) .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize)) .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize)) .setTopology(MeshSubsetTopology.TRIANGLES) .build() // Define the material val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE) // Instantiate the entity using the custom mesh and material val roadEntity = MeshEntity.create( session, roadMesh, listOf(roadMaterial), pose = roadPose, )
Compose for XR: natywna obsługa glTF
W Compose for XR mamy teraz natywną obsługę glTF bezpośrednio w SpatialGltfModel. Używaj tego komponentu razem z SpatiallGltfModelState, aby uzyskać dostęp do węzłów i animacji w modelu glTF lub dodawać tekstury i materiały do modeli 3D.
val myGltfModelState = rememberSpatialGltfModelState( source = SpatialGltfModelSource.fromPath( Paths.get("models/my_animated_model.glb") ) ) val myGltfAnimation = myGltfModelState.animations.find { it.name == "animation_name" } DisposableEffect(myGltfAnimation) { myGltfAnimation?.loop() onDispose { myGltfAnimation?.stop() } } SpatialGltfModel(state = myGltfModelState, modifier = modifier)
ARCore w Jetpack XR: wersja przedpremierowa interfejsu Geospatial API dla przewodowych okularów XR
Udostępniamy też wczesną wersję interfejsu Geospatial API dla przewodowych okularów XR w ARCore dla Jetpack XR. Ta aktualizacja umożliwia precyzyjne zakotwiczanie treści cyfrowych powiązanych z rzeczywistymi lokalizacjami w ponad 87 krajach.
Łącząc system pozycjonowania wizualnego (VPS) ARCore z funkcjami rozumowania i audio interfejsu Gemini Live API, możesz tworzyć rozwiązania dopasowane kontekstowo, które rozpoznają zarówno lokalizację, jak i pozycję użytkownika. Wyobraź sobie, że tworzysz immersyjną wycieczkę pieszą z przewodnikiem AI, która zapewnia opisy dźwiękowe w czasie rzeczywistym dotyczące pobliskich miejsc, płynnie łącząc informacje cyfrowe z otoczeniem fizycznym.
Zacznij budować przyszłość już dziś
To świetny czas na tworzenie aplikacji na Androida XR. Wkrótce udostępnimy wersję beta pakietu Jetpack XR SDK, a Ty będziesz mieć do dyspozycji wiele nowych narzędzi. Zapoznaj się z każdym z tych obszarów, aby przygotować aplikację na XR.
Przeczytaj dokumentację, zapoznaj się z próbkami i sprawdź eksperymenty XR
Pełne przewodniki techniczne, dokumentację interfejsu API i instrukcje konfigurowania nowego emulatora znajdziesz na oficjalnej stronie Androida dla deweloperów. Zainspiruj się naszymi przykładami i eksperymentami. Zobacz, jak wykorzystaliśmy te interfejsy API do tworzenia wciągających układów przestrzennych, wczytywania modeli 3D, eksplorowania dźwięku przestrzennego i nie tylko.
Sprawdź nowości dotyczące silników gier
Dodaliśmy oficjalną obsługę Unreal Engine i Godot oraz udostępniliśmy 2 nowe narzędzia, które przyspieszą tworzenie aplikacji na Androida XR za pomocą Unity i Android XR Interaction Framework. Na podstawie Twoich opinii wprowadzamy Android XR Engine Hub, który umożliwia uruchamianie aplikacji bezpośrednio z wybranego silnika.
Zgłoś się do Programu Catalyst dla deweloperów Androida XR
Nie przegap okazji, aby tworzyć aplikacje na najnowsze urządzenia z Androidem XR. Zgłoś się już dziś, aby uzyskać dostęp do sprzętu przedpremierowego, w tym prototypu okularów audio i okularów z wyświetlaczem oraz Project Aura od XREAL.
Dowiedz się więcej i zgłoś się już dziś
Z niecierpliwością czekamy na niesamowite aplikacje XR, które stworzysz, gdy w tym roku wprowadzimy na rynek więcej urządzeń z Androidem XR.
Zapoznaj się z tym ogłoszeniem i wszystkimi aktualizacjami z konferencji Google I/O 2026 na stronie io.google.
-
Wiadomości o usługachEkosystem Androida XR szybko się rozwija, od nakładek rozszerzonej rzeczywistości po w pełni immersyjne środowiska. Samsung Galaxy XR jest już dostępny.
Stevan Silva, Vinny DaSilva • Czas czytania: 3 minuty -
Wiadomości o usługachZ przyjemnością informujemy, że na platformie Android XR pojawiła się oficjalna obsługa silników Unreal Engine i Godot. Wprowadzamy też nowe narzędzia, które zwiększą Twoją produktywność i umożliwią korzystanie z nowych funkcji XR: Android XR Engine Hub i Android XR Interaction Framework.
Luke Hopkins, Ryan Bartley • Czas czytania: 4 min -
Wiadomości o usługachPodczas konferencji Google I/O 2026 r. zaprezentowaliśmy zmianę w Androidzie, który z systemu operacyjnego stał się systemem opartym na AI. Pokazaliśmy też, jak możesz tworzyć inteligentne funkcje w systemie i wykorzystywać w swoich aplikacjach możliwości AI od Google.
Jingyu Shi • Czas czytania: 2 minuty
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.