Ambiente de execução de XR

Inicie sua sessão 3D ou RA personalizada com nosso ambiente de execução nativo.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
7 de maio de 2025 - - - 1.0.0-alpha04

Declarar dependências

Para adicionar uma dependência ao ambiente de execução XR, é preciso adicionar 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-alpha04"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha04")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha04")
}

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.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.0

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 estas confirmações.

Novos recursos

  • A sessão agora implementa androidx.lifecycle.LifecycleOwner para mais interoperabilidade com os paradigmas de ciclo de vida do Android.
  • As strings de manifesto para o 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.
  • Foi adicionada uma versão stub do JxrPlatformAdapter (e todas as classes relacionadas).
  • A sessão será usada em SceneCore e no ambiente de execução em vez da sessão em SceneCore.
  • ActivityPose.hitTest foi adicionado, permitindo um hitTest contra conteúdo virtual.
  • Agora é possível especificar várias implementações 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.
  • Foi adicionado um novo tipo de componente SpatialPointerComponent, permitindo que os clientes especifiquem o ícone renderizado para o ponteiro ou o desativem. No momento, esse componente só pode ser anexado a instâncias PanelEntity.

Mudanças na API

  • Torne a implementação de Config pública. (I95860).
  • Adicione HandJointType e TrackingState. (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 para Hand.trackingState. A implementação de OpenXR foi modificada de acordo com isso.
  • A exigência de permissão android.permission.SCENE_UNDERSTANDING em Session.configure foi alterada para android.permission.SCENE_UNDERSTANDING_COARSE.
  • LifecycleManager.configure foi implementado e agora é transmitido em um objeto Config que contém uma propriedade para cada recurso de execução configurável.
  • Agora, Session.configure pode ser chamado com um Config para configurar os recursos de execução disponíveis.
  • O Session.create agora oferece suporte à transmissão de um CoroutineContext em vez de um CoroutineDispatcher.
  • O Session.create oferece suporte ao carregamento de ARCore para o Jetpack XR e/ou SceneCore. Pelo menos um precisa ser fornecido (versões de teste estão disponíveis).
  • FakePerceptionManager gera uma AnchorInvalidUuidException quando um UUID inválido é transmitido para Anchor.load e Anchor.unpersist.
  • CoreState não é mais uma classe de dados.

Correções de bugs

  • Configurações de proguard do ambiente de execução corrigidas.

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 estas confirmações.

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 estas confirmações.

Mudanças de comportamento e de interrupção

  • As funções de ambiente de execução OpenXR que retornam uma âncora agora geram AnchorResourcesExhaustedException se encontrarem um código de erro que notifica que o limite de recursos OpenXR foi atingido.
  • A permissão android.permission.HAND_TRACKING agora é necessária para Session.create e Session.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

Versão inicial do ambiente de execução do Jetpack XR. Ela contém peças fundamentais da funcionalidade do conjunto de bibliotecas do Jetpack XR. Isso inclui descoberta de recursos, gerenciamento de ciclo de vida, configuração e muito mais. A biblioteca Runtime oferece variações diferentes (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 API Jetpack XR.

  • Session: oferece controles detalhados sobre o sistema de RA, incluindo a decisão de quando o processamento é e não é 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. Você vai usar essa classe para comunicar a localização de objetos com o ARCore para o Jetpack XR e o Jetpack SceneCore.

Problemas conhecidos

  • No momento, configure não faz nada. Nas próximas versões, novas configurações serão adicionadas para controlar o comportamento do Session.