Ambiente 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 |
---|---|---|---|---|
30 de julho de 2025 | - | - | - | 1.0.0-alpha05 |
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-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") }
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-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 estas confirmações.
Novos recursos
- Adicione
HandJointType
eTrackingState
. (I55880, b/334645808) - Torne a implementação da configuração pública. (I95860, b/334645808).
- Foram introduzidos novos tipos
SessionCreateResult
eSessionConfigureResult
. (Icb8cb, b/334645808) - Adicione uma nova classe
BoundingBox
que 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.PixelDimensions
foi renomeado e movido paraandroidx.xr.runtime.math.IntSize2d
.androidx.xr.scenecore.Dimensions
foi renomeado e movido paraandroidx.xr.runtime.math.FloatSize3d
.androidx.xr.scenecore.PlaneType
foi renomeado comoandroidx.xr.scenecore.PlaneOrientation
.androidx.xr.scenecore.PlaneSemantic
foi renomeado comoandroidx.xr.scenecore.PlaneSemanticType
. (Ifd405, b/416456228).- Classe
androidx.xr.runtime.FoV
removida. Useandroidx.xr.runtime.FieldOfView
. (I9ae27). - Adicionamos uma sobrecarga extra para
Session.create
, que pode fornecer umLifecycleOwner
para a sessão ser anexada. Uma atividade ainda precisa ser fornecida para a propriedade do recurso, e oLifecycleOwner
precisa estar no escopo da atividade. (I1690b). FakeRuntimeAnchor.anchorsCreated
foi renomeado comoanchorsCreatedCount
(I96df9, b/424441218).- Os valores de configuração
*Mode
foram 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:runtime
para:xr:runtime:runtime-manifest
. O nome do pacote mudou deandroidx.xr.runtime
paraandroidx.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-guava
para 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-rxjava3
para acessar APIs compatíveis. (I64122, b/426639775). - Mova as corrotinas para
:xr:runtime:runtime-guava
e os fluxos para:xr:runtime:runtime-rxjava3
. (I60ae9). Session.create
eSession.configure
agora geramSecurityException
quando não há permissões suficientes, em vez de retornarSessionCreatePermissionsNotGranted
ouSessionConfigurePermissionsNotGranted
. (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 estas confirmações.
Novos recursos
- Agora, a sessão implementa
androidx.lifecycle.LifecycleOwner
para 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
SceneCore
e no tempo de execução, em vez da sessão emSceneCore
. - O
ActivityPose.hitTest
foi adicionado, permitindo umhitTest
contra 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
HandJointType
eTrackingState
. (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 deOpenXR
foi modificada de acordo.- O requisito de permissão de
android.permission.SCENE_UNDERSTANDING
emSession.configure
foi alterado paraandroid.permission.SCENE_UNDERSTANDING_COARSE
. LifecycleManager.configure
foi implementado e agora transmite um objetoConfig
que contém uma propriedade para cada recurso configurável de tempo de execução.- Agora,
Session.configure
pode ser chamado com umConfig
para configurar os recursos de tempo de execução disponíveis. - Agora, o
Session.create
aceita a transmissão de umCoroutineContext
em vez de umCoroutineDispatcher
. - O
Session.create
oferece suporte ao carregamento deARCore
para Jetpack XR e/ouSceneCore
. É necessário fornecer pelo menos um (versões de teste estão disponíveis). FakePerceptionManager
gera umaAnchorInvalidUuidException
quando um UUID inválido é transmitido paraAnchor.load
eAnchor.unpersist
.CoreState
nã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 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 interruptivas e de comportamento
- As funções de tempo de execução
OpenXR
que retornam uma âncora agora geramAnchorResourcesExhaustedException
se encontrarem um código de erro informando que o limite de recursosOpenXR
foi atingido. - A permissão
android.permission.HAND_TRACKING
agora é obrigatória paraSession.create
eSession.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,
configure
não faz nada. As próximas versões vão adicionar novas configurações que podem ser usadas para controlar o comportamento doSession
.