ARCore para Jetpack 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 do ARCore para Jetpack 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.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3: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.arcore:arcore-*:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estes commits.
Correções de bugs
- :xr:arcore:arcore-openxradicionado como uma dependência de implementação a- :xr:arcore:arcore(I47315, b/446999229).
Versão 1.0.0-alpha06
24 de setembro de 2025
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha06. A versão 1.0.0-alpha06 contém estes commits.
Mudanças na API
- O suporte para testes de ARCorefoi migrado para o móduloxr:arcore:arcore-testing. (I25469).
- Adição de ArDeviceeRenderViewpointpara permitir que os aplicativos recuperem a postura do dispositivo e mostrem a configuração para fins de renderização. (Ib7e3f).
- Renomeie as enumerações HandJointTypecom o prefixoHAND_JOINT_TYPE_. (I3f7cd).
- O item HandJointTypefoi movido dexr:runtime:runtimeparaxr:arcore:arcore. (Iadb9c, b/409058039)
- Agora, o Hand.Stateexpõe umjava.nio.FloatBuffercom as posturas conjuntas em um formato que permite acesso fácil a aplicativos orientados à performance. (I55e27).
Versão 1.0.0-alpha05
30 de julho de 2025
Lançamento de androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 e androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estes commits.
Novos recursos
- Adicione getPrimaryHandSidepara que o desenvolvedor possa receber as informações do lado direito (I270bd)
- Adicionar API de verificação geoespacial da disponibilidade do VPS (I58573)
- Adição da API ARCore para checkVpsAvailability(Idbded)
- Funções de extensão stateFlowableadicionadas a:xr:arcore:arcore-rxjava3para uso por desenvolvedores Java. (I083aa, b/427247794)
Mudanças na API
- Os valores de configuração *Modeforam renomeados para refletir o comportamento deles. (I6d247, b/414648065)
- O artefato principal do ARCore (xr:arcore:arcore) vai conter apenas APIs assíncronas no estilo Kotlin. Os desenvolvedores Java podem depender da biblioteca xr:arcore:arcore-rxjava3para acessar APIs compatíveis. (Ia525e, b/422794329)
- O artefato principal do ARCore (xr:scenecore:scenecore) vai conter apenas APIs assíncronas no estilo Kotlin. Os desenvolvedores Java podem depender da bibliotecaxr:arcore:arcore-guavapara acessar APIs compatíveis. (Iffcb4, b/422773524).
- Anchor.persistAsync()adicionado a- AnchorGuavapara uso por desenvolvedores Java. (I4af1c, b/425984631).
- Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)adicionado a- EarthGuavapara uso por desenvolvedores Java. (I66357, b/425992992)
- Os desenvolvedores Java vão usar as funções de extensão para GltfModel.createAsyncemGltfModel.kt. As funções assíncronas emGltfModelserão excluídas. (I0af60)
- 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)
- Funções de extensão subscribeAsFlowableadicionadas a:xr:arcore:arcore-rxjava3para uso por desenvolvedores Java. (Id3e49, b/427277298)
Versão 1.0.0-alpha04
7 de maio de 2025
Lançamento de androidx.xr.arcore:arcore:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estes commits.
Mudanças na API
- Os projetos lançados com o Kotlin 2.0 exigem o KGP 2.0.0 ou mais recente para serem consumidos (Idb6b5).
- TrackingStatee- HandJointTypeforam movidos do ARCore para o ambiente de execução.
- Hand.State.isActive (boolean)mudou para- Hand.State.trackingState (androidx.xr.runtime.TrackingState).
- Anchor.loadretorna- Anchor.AnchorLoadInvalidUuidse o UUID for inválido.
Versão 1.0.0-alpha03
26 de fevereiro de 2025
androidx.xr.arcore:arcore:1.0.0-alpha03 é lançado sem mudanças significativas 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.arcore:arcore:1.0.0-alpha02. A versão 1.0.0-alpha02 contém estes commits.
Novos recursos
- Adicionamos suporte ao rastreamento de mãos. Use Hand.lefteHand.rightpara acessar as informações de rastreamento.
- As APIs que geram uma âncora (Anchor.create,Anchor.load,Plane.createAnchor) agora retornamAnchorCreateResulte implementamAnchorCreateResourcesExhaustedcorretamente.
Correções de bugs
- O Anchor.detachnão causa mais uma falha fatal devido a uma condição de disputa com a linha de execução de atualização da sessão.
- O Anchor.createé mais estável quando executado em um emulador
Versão 1.0.0-alpha01
12 de dezembro de 2024
Lançamento de androidx.xr.arcore:arcore-* 1.0.0-alpha01.
Recursos da versão inicial
Inspirada na biblioteca ARCore atual, a biblioteca ARCore para Jetpack XR oferece recursos para misturar conteúdo digital com o mundo real. Essa biblioteca inclui rastreamento de movimento, âncoras persistentes, teste de ocorrência e identificação de planos com rotulagem semântica (por exemplo, piso, paredes e mesas). Consulte o guia para desenvolvedores e saiba mais sobre como trabalhar com o ARCore para Jetpack XR.
- Session: o ARCore para Jetpack XR usa o Jetpack XR Runtime nos bastidores para impulsionar a funcionalidade. Você vai usar uma sessão para interagir com a maioria das APIs do ARCore para Jetpack XR. Consulte a documentação.
- Plane: use planos para entender o mundo ao seu redor. Cada plano tem um- Labelque o descreve semanticamente. Use- subscribepara receber notificações sobre os aviões detectados mais recentemente ou- statepara receber notificações sobre as mudanças em um avião específico.
- Anchor: um link entre um objeto virtual e um local do mundo real. As âncoras podem ser anexadas a um local específico no espaço (usando- create) ou a um- Trackable(usando- createAnchor).- As âncoras podem ser reutilizadas em várias sessões. Use - persistpara armazená-los,- getPersistedAnchorUuidspara enumerá-los e- loadpara recuperá-los.- unpersistos dispositivos quando eles não estiverem mais em uso.
- As âncoras são interoperáveis entre o ARCore para Jetpack XR e o Jetpack SceneCore. Você pode criar um - AnchorEntityusando uma âncora ou, se tiver um AnchorEntity, use- getAnchorpara recuperar a âncora de suporte.
- Ofereça interações naturais com o usuário usando - hitTest. Um hitTest usa um- Raypara determinar quais conteúdos ele cruza e criar um- Anchordesse local. Considere fazer um hitTest de um- InputEvent.
 
Problemas conhecidos
- Pode haver um atraso entre a chamada de - unpersiste a remoção do UUID dos resultados retornados por- getPersistedAnchorUuids.
- O - createnão valida se o sistema tem recursos suficientes para retornar novas âncoras. Criar uma quantidade excessiva de âncoras pode causar uma falha.
- No momento, não é possível manter uma âncora que foi mantida e removida. 
- O uso no emulador é compatível, mas o comportamento pode não ser tão estável quanto em um dispositivo real. Em especial, as chamadas para - createpodem falhar com um erro de código nativo e encerrar imediatamente a atividade.
- Em determinadas circunstâncias, um - RuntimeExceptionpode ser gerado erroneamente ao chamar- persistcom a mensagem "Anchor was not persisted". Nessas circunstâncias, a função ainda será executada e a âncora será mantida. Recomendamos envolver a chamada para- persistcom um bloco- trycomo solução alternativa.
