Ambiente de execução do XR
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 6 de maio de 2026 | - | - | - | 1.0.0-alpha13 |
Declarar dependências
Para adicionar uma dependência ao ambiente de execução do XR, é preciso incluir 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-alpha13" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha13" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha13" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha13") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha13") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha13") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha13") }
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-alpha13
6 de maio de 2026
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estas confirmações.
Mudanças na API
TrackingStateeVpsAvailabilityResultforam movidos para oandroidx.xr.arcore package, e os tipos emandroidx.xr.runtimeforam descontinuados. (Ic7930, b/480462213)Session.getNativeData()agora é definido no móduloxr:runtime:runtimee fornece [nativeFunctionTablePointer] para ambientes de execução com suporte do OpenXR. (Ifa862)- A API
NativeDatafoi movida para a bibliotecaxr:runtime:runtime. (I87954, b/494251500) Session.createeSession.configureagora não são exaustivos e exigem outras cláusulas em instruções when. (I9885e, b/495805998, b/495805998)- O uso de
androidx.xr.runtime.FieldOfViewfoi descontinuado. Useandroidx.xr.runtime.math.FieldOfView. (Ia01a0, b/480233045) Matrix4.posefoi renomeado comoMatrix4.toPose(). A propriedade de pose foi descontinuada. (I329b4, b/493383490)- Adição da
XrServiceAvailabilityAPI (If379e, b/493558010) - Adição da anotação
ExperimentalXrServiceAvailabilityApi(Icab49, b/491069725) - Remoção do sufixo para
@PreviewSpatialApi(If5242, b/491939311) DeviceTrackingMode.LAST_KNOWNfoi renomeado comoSPATIAL_LAST_KNOWN(com um fallback descontinuado),INERTIAL_LAST_KNOWNfoi adicionado para o acompanhamento de 3DoF eTRACKING_DEGRADEDfoi adicionado aTrackingState. (Ie661c, b/445466590)- Adição da API
XrLog. DefinaXrLog.isEnabledcomotruepara ativar a geração de registros no JetpackXR e use [XrLog.Level] para definir o nível de registro. (I76a1f, b/463460895, b/487378441) - Adição de
DISPLAY_CATEGORY_XR_PROJECTED. Essa constante é usada no arquivo de manifesto para indicar que a atividade é destinada a uma tela projetada em XR (I26d8b).
Versão 1.0.0-alpha12
25 de março de 2026
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.
Mudanças na API
- Mudança de
Config.augmentedObjectCategoriesde uma lista para um conjunto (I25a64, b/487376359). - Remoção da flag
unscaledGravityAlignedActivitySpacedeSession.create.ActivitySpaceagora é sempre não escalonado e alinhado à gravidade. (If6f11, b/458173423) - Adição de uma sobrecarga de
Session.createpara permitir a transmissão de um contexto do Android para o escopo de recursos. (I7d3fe, b/415805990, b/477386334) - Adição de
JvmOverloadsaFloatSize2d.to3d,Matrix3.copy, eMatrix4.copy(I69586, b/481371562). - Adição da capacidade de definir categorias para o acompanhamento de
AugmentedObjectna configuração (I1f6e4, b/480220930). - Adição do módulo
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
Versão 1.0.0-alpha11
25 de fevereiro de 2026
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.
Mudanças na API
- Restrição da interface
ConfigModepara uso interno (Ibfb87). - Movimentação de
androidx.xr.runtime.Config.GeospatialModepara o nível do pacote (Ibe682). - Movimentação de
androidx.xr.runtime.Config.FaceTrackingModepara o nível do pacote (Iac501). - Movimentação de
androidx.xr.runtime.Config.AnchorPersistenceModepara o nível do pacote (I0360f). - Movimentação de
androidx.xr.runtime.Config.DepthEstimationModepara o nível do pacote (I7e3e9). - Movimentação de
androidx.xr.runtime.Config.DeviceTrackingModepara o nível do pacote (I3aacd). - Movimentação de
androidx.xr.runtime.Config.HandTrackingModepara o nível do pacote (I658f3). - Movimentação de
androidx.xr.runtime.Config.PlaneTrackingModepara o nível do pacote (Ia251b) - Movimentação de
androidx.xr.runtime.XrDevice.DisplayBlendModepara o nível do pacote (I6f333). - Adição de um método de fábrica para criar um
XrDeviceusando um contexto, uma sessão e umCoroutineContext. (I139c5) - Adição de
SpatialApiVersionHelperpara ajudar a consultar a versão do Android XR disponível na plataforma. (I7c53c) - Adição do
xr:runtime:runtime-openxrmódulo (Ib42ea).
Versão 1.0.0-alpha10
28 de janeiro de 2026
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.
Mudanças na API
ConfigMode.HeadTrackingModefoi substituído porConfigMode.DeviceTrackingMode. (le273e, b/467150206)- Remoção dos métodos
toNormalized,times(float)ediv(float)do Quaternion. Esses métodos são redundantes, já que todos os Quaternions são normalizados no momento da construção e a classe é imutável. (l558fc, b/460210457)
Correções de bugs
- Adição de documentação a
Session.createque ilustra como evitar a criação de uma sessão na linha de execução principal do aplicativo. (le5554, b/463687170) - Impedimento de que os aplicativos criem uma
BoundingBoxcom um valorNaN. (l58c14, b/464025895)
Versão 1.0.0-alpha09
3 de dezembro de 2025
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.
Versão 1.0.0-alpha08
19 de novembro de 2025
Lançamento de androidx.xr.runtime:runtime-*:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.
Novos recursos
XrDevicefoi adicionado para fornecer informações sobre os recursos do dispositivo. (Ic9d1f)- Adição da nova API
ConfigMode.isSupportedpara consultar os recursos da sessão. (Iff7af) - Adição da API
XrDisplay.BlendMode. (I484e4)
Mudanças na API
- [XrDevice.getPreferredBlendMode] foi renomeado como [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
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 estas confirmações.
Mudanças na API
- Remoção de
SessionConfigureConfigureNotSupportede substituição 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 estas confirmações.
Mudanças na API
HandJointTypefoi movido dexr:runtime:runtimeparaxr:arcore:arcore. (Iadb9c, b/409058039)- Mudança do operador de vezes para
componentWiseMultiplicationparaVector2,Vector3,Vector4para escalonar e remoção do símbolo do operador para consistência com outras bibliotecas matemáticas. Também foi removidocomponentWiseDivisiondas classes de vetor em vez de usarVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Adição de [unscaled] para retornar uma matriz com uma escala de um. (I6381d, b/434928658)
:xr:runtime:runtime-guavaserá removido, já queCoroutines.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 estas confirmações.
Novos recursos
- Adição de
HandJointTypeeTrackingState. (I55880, b/334645808) - Implementação pública da configuração. (I95860, b/334645808)
- Introdução de novos tipos
SessionCreateResulteSessionConfigureResult. (Icb8cb, b/334645808) - Adição de 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. Renomeadoandroidx.xr.scenecore.PlaneSemanticparaandroidx.xr.scenecore.PlaneSemanticType. (Ifd405, b/416456228)- Remoção da classe
androidx.xr.runtime.FoV. Useandroidx.xr.runtime.FieldOfView. (I9ae27) - Adição de uma sobrecarga para
Session.create, que pode fornecer umLifecycleOwnerpara a sessão anexar. Uma atividade ainda precisará ser fornecida para a propriedade do recurso, e oLifecycleOwnerprecisa ter escopo na 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)- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores do Kotlin precisam usar o seguinte argumento do compilador para aplicar 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 ambiente de execução (
:xr:runtime:runtime) só vai conter APIs assíncronas no estilo Kolin. Os desenvolvedores Java podem depender de:xr:runtime:runtime-guavapara acessar APIs compatíveis. (I05d4a, b/426639315) - O artefato principal do ambiente de execução (
:xr:runtime:runtime) só vai conter APIs assíncronas no estilo Kotlin. Os desenvolvedores Java podem depender da bibliotecaxr:runtime:runtime-rxjava3para acessar APIs compatíveis. (I64122, b/426639775) - Movimentação de corrotinas para
:xr:runtime:runtime-guavae fluxos para:xr:runtime:runtime-rxjava3. (I60ae9) Session.createeSession.configureagora geramSecurityExceptionquando permissões suficientes não foram concedidas, 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 estas confirmações (link em inglês).
Novos recursos
- A sessão agora implementa
androidx.lifecycle.LifecycleOwnerpara 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 para dentro ou para fora do campo de visão do usuário.
- Adição de uma versão de stub do
JxrPlatformAdapter(e todas as classes relacionadas). - A sessão será usada em
SceneCoree no ambiente de execução, em vez da sessão emSceneCore. ActivityPose.hitTestfoi adicionado, permitindo umhitTestem conteúdo virtual.- Agora é possível especificar várias implementações de ambiente de execução no tempo de compilação. Apenas uma será carregada no momento da execução com base no conjunto de atributos 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
- Implementação pública da configuração. (I95860)
- Adição de
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)foi alterado paraHand.trackingState. A implementação doOpenXRfoi modificada de acordo.- O requisito de permissão
android.permission.SCENE_UNDERSTANDINGemSession.configurefoi alterado paraandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configureé implementado e agora transmite um objetoConfigque contém uma propriedade para cada recurso configurável do ambiente de execução.Session.configureagora pode ser chamado com umaConfigpara configurar os recursos disponíveis do ambiente de execução.Session.createagora oferece suporte à transmissão de umCoroutineContextem vez de umCoroutineDispatcher.Session.createoferece suporte ao carregamento deARCorepara Jetpack XR e/ouSceneCore. É necessário fornecer pelo menos um (versões de teste disponíveis).FakePerceptionManagergera umaAnchorInvalidUuidExceptionquando um UUID inválido é transmitido paraAnchor.loadeAnchor.unpersist.CoreStatenão é mais uma classe de dados.
Correções de bugs
- Configurações do 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 notáveis 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 ambiente de execução do
OpenXRque retornam uma âncora agora geramAnchorResourcesExhaustedExceptionse encontrarem um código de erro notificando que o limite de recursos doOpenXRfoi atingido. - A permissão
android.permission.HAND_TRACKINGagora é necessária paraSession.createeSession.resume.
Novos recursos
- Adição de suporte à captura de movimentos das mãos.
Correções de bugs
- A criação de âncoras é mais estável ao ser 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. Essa biblioteca contém partes fundamentais da funcionalidade para o conjunto de bibliotecas do Jetpack XR. Isso inclui descoberta de recursos, gerenciamento de ciclo de vida, configuração e muito mais. A biblioteca do ambiente 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 do Jetpack XR.
Session: oferece controles refinados sobre o sistema XR, incluindo a decisão de quando o processamento está e não está sendo executado e a configuração geral. Ele também é o identificador que você usará em todas as outras APIs para desbloquear os recursos do sistema subjacente.Pose: um local em um sistema de coordenadas arbitrário que tem uma posição e orientação associadas a ele. Você usará essa classe para comunicar a localização de objetos com o ARCore para Jetpack XR e Jetpack SceneCore.
Problemas conhecidos
configureé atualmente uma operação nula. As versões futuras vão adicionar novas configurações que podem ser usadas para controlar o comportamento daSession.