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 aAnchorGuavapara uso por desenvolvedores Java. (I4af1c, b/425984631).Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)adicionado aEarthGuavapara 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).
TrackingStateeHandJointTypeforam movidos do ARCore para o ambiente de execução.Hand.State.isActive (boolean)mudou paraHand.State.trackingState (androidx.xr.runtime.TrackingState).Anchor.loadretornaAnchor.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 umLabelque o descreve semanticamente. Usesubscribepara receber notificações sobre os aviões detectados mais recentemente oustatepara 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 (usandocreate) ou a umTrackable(usandocreateAnchor).As âncoras podem ser reutilizadas em várias sessões. Use
persistpara armazená-los,getPersistedAnchorUuidspara enumerá-los eloadpara 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, usegetAnchorpara recuperar a âncora de suporte.Ofereça interações naturais com o usuário usando
hitTest. Um hitTest usa umRaypara determinar quais conteúdos ele cruza e criar umAnchordesse local. Considere fazer um hitTest de umInputEvent.
Problemas conhecidos
Pode haver um atraso entre a chamada de
unpersiste a remoção do UUID dos resultados retornados porgetPersistedAnchorUuids.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 chamarpersistcom a mensagem "Anchor was not persisted". Nessas circunstâncias, a função ainda será executada e a âncora será mantida. Recomendamos envolver a chamada parapersistcom um blocotrycomo solução alternativa.