Tempo de execução de XR
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 22 de outubro de 2025 | - | - | - | 1.0.0-alpha07 |
Declarar dependências
Para adicionar uma dependência ao tempo de execução de XR, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.0
Versão 1.0.0-alpha07
22 de outubro de 2025
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estes commits.
Mudanças na API
- Remova
SessionConfigureConfigureNotSupportede substitua porUnsupportedOperationException. (I7680f).
Versão 1.0.0-alpha06
24 de setembro de 2025
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estes commits.
Mudanças na API
- O item
HandJointTypefoi movido dexr:runtime:runtimeparaxr:arcore:arcore. (Iadb9c, b/409058039) - Mudança do operador de multiplicação de
componentWiseMultiplicationparaVector2,Vector3,Vector4para dimensionar e remoção do símbolo do operador para consistência com outras bibliotecas matemáticas. Também removemoscomponentWiseDivisiondas classes Vector em vez de usarVector.scale(otherVector.inverse()). (I8e1f6, b/399146447). - Adicionar [unscaled] para retornar uma matriz com uma escala de um. (I6381d, b/434928658).
:xr:runtime:runtime-guavaserá removido porqueCoroutines.ktfoi substituído porSuspendtoFutureAdapter. (I0cd3c, b/406597902)
Versão 1.0.0-alpha05
30 de julho de 2025
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estes commits.
Novos recursos
- Adicione
HandJointTypeeTrackingState. (I55880, b/334645808) - Torne a implementação da configuração pública. (I95860, b/334645808).
- Foram introduzidos novos tipos
SessionCreateResulteSessionConfigureResult. (Icb8cb, b/334645808) - Adicione uma nova classe
BoundingBoxque representa uma caixa delimitadora alinhada ao eixo no espaço 3D, definida pelos pontos de canto mínimo e máximo. (Ic68c5, b/423073468)
Mudanças na API
androidx.xr.scenecore.PixelDimensionsfoi renomeado e movido paraandroidx.xr.runtime.math.IntSize2d.androidx.xr.scenecore.Dimensionsfoi renomeado e movido paraandroidx.xr.runtime.math.FloatSize3d.androidx.xr.scenecore.PlaneTypefoi renomeado comoandroidx.xr.scenecore.PlaneOrientation.androidx.xr.scenecore.PlaneSemanticfoi renomeado comoandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228).- Classe
androidx.xr.runtime.FoVremovida. Useandroidx.xr.runtime.FieldOfView. (I9ae27). - Adicionamos uma sobrecarga para
Session.create, que pode fornecer umLifecycleOwnerpara anexar à sessão. Uma atividade ainda precisa ser fornecida para a propriedade do recurso, e oLifecycleOwnerprecisa estar no escopo da atividade. (I1690b) FakeRuntimeAnchor.anchorsCreatedfoi renomeado comoanchorsCreatedCount(I96df9, b/424441218).- Os valores de configuração
*Modeforam renomeados para refletir o comportamento deles. (I6d247, b/414648065) - Os projetos lançados com o Kotlin 2.0 exigem o KGP 2.0.0 ou mais recente para serem consumidos (Idb6b5, b/344563182).
- As APIs relacionadas a strings de manifesto foram movidas de
:xr:runtime:runtimepara:xr:runtime:runtime-manifest. O nome do pacote mudou deandroidx.xr.runtimeparaandroidx.xr.runtime.manifest. (I610ad, b/418800249) Session.resume(),Session.pause()eSession.destroy()foram removidos da superfície da API. A sessão não é mais umLifecycleOwner. O ciclo de vida da sessão agora será anexado ao ciclo de vida da atividade transmitida emSession.create(). (I28a03).- Agora, essa biblioteca usa anotações de nulidade do JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para garantir o uso correto:
-Xjspecify-annotations=strict. Esse é o padrão a partir da versão 2.1.0 do compilador Kotlin. (Ia8420, b/326456246) - O artefato principal do Runtime (
:xr:runtime:runtime) vai conter apenas APIs assíncronas no estilo Kotlin. Os desenvolvedores Java podem depender do:xr:runtime:runtime-guavapara acessar APIs compatíveis. (I05d4a, b/426639315) - O artefato principal do Runtime (
:xr:runtime:runtime) vai conter apenas APIs assíncronas no estilo Kotlin. Os desenvolvedores Java podem depender da bibliotecaxr:runtime:runtime-rxjava3para acessar APIs compatíveis. (I64122, b/426639775). - Mova as corrotinas para
:xr:runtime:runtime-guavae os fluxos para:xr:runtime:runtime-rxjava3. (I60ae9). Session.createeSession.configureagora geramSecurityExceptionquando não há permissões suficientes, em vez de retornarSessionCreatePermissionsNotGrantedouSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Versão 1.0.0-alpha04
7 de maio de 2025
Lançamento de androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 e androidx.xr.runtime:runtime-testing:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estes commits.
Novos recursos
- Agora, a sessão implementa
androidx.lifecycle.LifecycleOwnerpara mais interoperabilidade com os paradigmas de ciclo de vida do Android. - As strings de manifesto para Android XR são especificadas e documentadas aqui.
- Métodos de extensão de callback de visibilidade espacial adicionados para monitorar quando o conteúdo da cena se move dentro ou fora do campo de visão do usuário.
- Adicionada uma versão stub do
JxrPlatformAdapter(e todas as classes relacionadas). - A sessão será usada em
SceneCoree no tempo de execução, em vez da sessão emSceneCore. - O
ActivityPose.hitTestfoi adicionado, permitindo umhitTestcontra conteúdo virtual. - Agora é possível especificar várias implementações de ambiente de execução no momento da compilação. Apenas um será carregado no momento da execução com base no conjunto de recursos do dispositivo atual.
- Adição do novo tipo de componente
SpatialPointerComponent, permitindo que os clientes especifiquem o ícone renderizado para o ponteiro ou desativem o ícone. No momento, esse componente só pode ser anexado a instânciasPanelEntity.
Mudanças na API
- Torne a implementação da configuração pública. (I95860)
- Adicione
HandJointTypeeTrackingState. (I55880). - Os projetos lançados com o Kotlin 2.0 exigem o KGP 2.0.0 ou mais recente para serem consumidos (Idb6b5)
Hand.isActive (boolean)mudou paraHand.trackingState. A implementação deOpenXRfoi modificada de acordo.- O requisito de permissão de
android.permission.SCENE_UNDERSTANDINGemSession.configurefoi alterado paraandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configurefoi implementado e agora transmite um objetoConfigque contém uma propriedade para cada recurso configurável de tempo de execução.- Agora,
Session.configurepode ser chamado com umConfigpara configurar os recursos de tempo de execução disponíveis. - Agora, o
Session.createaceita a transmissão de umCoroutineContextem vez de umCoroutineDispatcher. - O
Session.createoferece suporte ao carregamento deARCorepara Jetpack XR e/ouSceneCore. É necessário fornecer pelo menos um (versões de teste estão disponíveis). FakePerceptionManagergera umaAnchorInvalidUuidExceptionquando um UUID inválido é transmitido paraAnchor.loadeAnchor.unpersist.CoreStatenão é mais uma classe de dados.
Correções de bugs
- Correção das configurações do ProGuard do ambiente de execução.
Versão 1.0.0-alpha03
26 de fevereiro de 2025
Lançamento de androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 e androidx.xr.runtime:runtime-testing:1.0.0-alpha03 sem mudanças importantes desde a última versão Alfa. A versão 1.0.0-alpha03 contém estes commits.
Versão 1.0.0-alpha02
12 de fevereiro de 2025
Lançamento de androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 e androidx.xr.runtime:runtime-testing:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estes commits.
Mudanças interruptivas e de comportamento
- As funções de tempo de execução
OpenXRque retornam uma âncora agora geramAnchorResourcesExhaustedExceptionse encontrarem um código de erro informando que o limite de recursosOpenXRfoi atingido. - A permissão
android.permission.HAND_TRACKINGagora é obrigatória paraSession.createeSession.resume.
Novos recursos
- Adicionamos suporte ao rastreamento de mãos.
Correções de bugs
- A criação de âncoras é mais estável quando executada em um emulador
Versão 1.0.0-alpha01
12 de dezembro de 2024
Lançamento de androidx.xr.runtime:runtime-* 1.0.0-alpha01.
Recursos da versão inicial
Lançamento inicial do Jetpack XR Runtime. Essa biblioteca contém funcionalidades fundamentais para o conjunto de bibliotecas Jetpack XR. Isso inclui descoberta de recursos, gerenciamento do ciclo de vida, configuração e muito mais. A biblioteca de tempo de execução oferece diferentes variações (por exemplo, runtime-openxr ou runtime-testing) dependendo da plataforma de execução. Além disso, essa biblioteca oferece abstrações matemáticas fundamentais, como Vector3 e Matrix4, que são usadas em toda a superfície da API Jetpack XR.
Session: oferece controles refinados sobre o sistema de RV/RA, incluindo a decisão de quando o processamento está ou não sendo executado e a configuração geral. Ele também é o identificador que você vai usar em todas as outras APIs para desbloquear os recursos do sistema.Pose: um local em um sistema de coordenadas arbitrário que tem uma posição e uma orientação associadas a ele. Você vai usar essa classe para comunicar a localização de objetos com o ARCore para Jetpack XR e Jetpack SceneCore.
Problemas conhecidos
- No momento,
configurenão faz nada. As próximas versões vão adicionar novas configurações que podem ser usadas para controlar o comportamento doSession.