ARCore para Jetpack 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 ARCore para Jetpack XR, adicione o repositório Maven do Google ao seu projeto. Leia o 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-alpha13" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha13" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha13") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha13") implementation("androidx.xr.arcore:arcore-rxjava3: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.arcore:arcore-*:1.0.0-alpha13. A versão 1.0.0-alpha13 contém estes commits.
Mudanças na API
TrackingStateeVpsAvailabilityResultforam movidos para oandroidx.xr.arcore package, e os tipos emandroidx.xr.runtimeforam descontinuados. (Ic7930, b/480462213)Plane.Typefoi renomeado comoPlaneType. (I8c90c, b/482675376)Hand.HandSidefoi renomeado comoHandSide. (Ica562, b/482675376)Plane.Labelfoi renomeado comoPlaneLabel. (Ic6b67, b/482675376)Geospatial.Surfacefoi renomeado comoGeospatialSurface. (I1a8be, b/482675376)Geospatial.Statefoi renomeado comoGeospatialState. (I203fa, b/482675376)- A API
NativeDatafoi movida para a bibliotecaxr:runtime:runtime. (I87954, b/494251500) Session.createeSession.configureagora não são exaustivos e exigem cláusulas "else" 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) - O Orbiter foi alterado para usar um
OrbiterAnchorPoint + VolumeOffsetou umOrbiterPoseProviderem vez de posição, deslocamento, offsetType, alinhamento e elevação. O parâmetroshouldRenderInNonSpatialtambém foi removido. Se o desenvolvedor não quiser que o Orbiter seja renderizado em não espacial, ele precisa envolver o Orbiter em uma instrução "if" e verificar asSpatialCapabilities. (I9fbb3, b/462428503) - Modificadores móveis foram adicionados. Esses modificadores funcionam bem, no momento, para
SpatialPanelseSpatialExternalSurface. Em breve, eles também serão compatíveis comSpatialGltfModels. No entanto, a intenção é que eles sejam bem compatíveis com todos osSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) - Os desenvolvedores precisam observar o fluxo
ArDevice.statepara monitorarState.trackingStatee ajustar a renderização ou os avisos do aplicativo de acordo com a fidelidade do rastreamento. (Ic00f0, b/445466590) - Os valores de enumeração
HandJointTypeforam renomeados. (Ifbc83, b/482670596) - As constantes
FaceConfidenceRegionforam renomeadas. (Ia62d5, b/482670596) - As constantes
FaceBlendShapeTypeforam renomeadas. (I33b8b, b/482670596) CreatePoseFromGeospatialPoseErrorInternaleCreateGeospatialPoseFromPoseErrorInternalforam adicionados. (I4bcf1, b/482666615)DeviceTrackingMode.LAST_KNOWNfoi renomeado comoSPATIAL_LAST_KNOWN(com um substituto descontinuado),INERTIAL_LAST_KNOWNfoi adicionado para rastreamento de 3DoF eTRACKING_DEGRADEDfoi adicionado aTrackingState. (Ie661c, b/445466590)- O uso de
GroupEntityfoi descontinuado. Para ter uma entidade com apenas a funcionalidade básica da entidade, chameEntity.create, que vai retornar e uma interface de entidade. (I4c450, b/473867483) - A API
XrLogfoi adicionada. DefinaXrLog.isEnabledcomotruepara ativar a geração de registros no JetpackXR e useXrLog.Levelpara definir o nível de registro. (I76a1f, b/463460895, b/487378441)
Correções de bugs
- Adicione o suporte ao estado de rastreamento de dispositivos aos dispositivos OpenXR. (I91485, b/445466590)
Versão 1.0.0-alpha12
25 de março de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estes commits.
Mudanças na API
Config.augmentedObjectCategoriesfoi alterado de uma lista para um conjunto. (I25a64, b/487376359)- Os tipos
androidx.xr.arcore.Eyeeandroidx.xr.arcore.Hand. (I42438, b/449032900) - A sobrecarga
Session.createfoi adicionada para permitir a transmissão de um contexto do Android para o escopo de recursos. (I7d3fe, b/415805990, b/477386334) - As mudanças
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITparaFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - A API
TiltGestureestá sendo disponibilizada como experimental, porque ela pode ser alterada ou removida no futuro. Para usar essa API, ative@ExperimentalGesturesApi(Ic9858). - A capacidade de definir categorias para o rastreamento de
AugmentedObjectfoi adicionada na configuração (I1f6e4, b/480220930).
Correções de bugs
- O build do Chrome foi corrigido atualizando o arquivo META-INF/services/ com o local real de
PerceptionRuntimeFactory. (I7a801, b/481288291)
Versão 1.0.0-alpha11
25 de fevereiro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estes commits.
Versão 1.0.0-alpha10
28 de janeiro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estes commits.
Novos recursos
- A API
TiltGesturefoi introduzida, fornecendo umFlowreativo para a detecção estável do estado de inclinação do dispositivo (PARA CIMA/PARA BAIXO) com o progresso da transição. (Ic269f, b/448152779) - O ARCore para Jetpack XR agora usa o mecanismo de geração de registros do ambiente de execução de XR. Consulte
androidx.xr.runtime.Logpara mais informações. (l52735, b/448697662)
Mudanças na API
Geospatial.createPoseFromGeospatialPoseagora funciona em dispositivos com OpenXR. (l362c6)
Versão 1.0.0-alpha09
3 de dezembro de 2025
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estes commits.
Versão 1.0.0-alpha08
19 de novembro de 2025
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estes commits.
Novos recursos
- O
ARCorepara Jetpack XR agora oferece suporte a dispositivos em que o Google Play Services para RA está disponível. - APIs geoespaciais foram adicionadas para disponibilidade de VPS e conversão de pose (I144dc).
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-openxrfoi adicionado 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 a testes para
ARCorefoi migrado para o móduloxr:arcore:arcore-testing. (I25469) ArDeviceeRenderViewpointforam adicionados para permitir que os aplicativos recuperem a pose e a configuração de exibição do dispositivo para fins de renderização. (Ib7e3f)- Os enums
HandJointTypeforam renomeados com o prefixoHAND_JOINT_TYPE_. (I3f7cd) HandJointTypefoi movido dexr:runtime:runtimeparaxr:arcore:arcore. (Iadb9c, b/409058039)Hand.Stateagora expõe umjava.nio.FloatBuffercom as poses das articulações em um formato que permite acesso fácil a aplicativos orientados a desempenho. (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
getPrimaryHandSidefoi adicionado para que o desenvolvedor possa receber as informações do lado da mão (I270bd).- A API de disponibilidade de VPS de verificação geoespacial foi adicionada (I58573).
- A API ARCore para
checkVpsAvailabilityfoi adicionada (Idbded). - As funções de extensão
stateFlowableforam adicionadas a:xr:arcore:arcore-rxjava3para uso por desenvolvedores Java. (I083aa, b/427247794)
Mudanças na API
- Os valores de
*Modede configuração foram 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()foi adicionado aAnchorGuavapara uso por desenvolvedores Java. (I4af1c, b/425984631)Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)foi 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) - Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores 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). - As funções de extensão
subscribeAsFlowableforam adicionadas 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)foi alterado 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
Lançamento de androidx.xr.arcore:arcore:1.0.0-alpha03 sem mudanças importantes 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
- Suporte à captura de movimentos das mãos foi adicionado. Use
Hand.lefteHand.rightpara acessar as informações de rastreamento. - As APIs que geram uma âncora (
Anchor.create,Anchor.load,Plane.createAnchor) agora retornamAnchorCreateResulte implementam corretamenteAnchorCreateResourcesExhausted.
Correções de bugs
Anchor.detachnão causa mais uma falha fatal devido a uma disputa com a linha de execução de atualização da sessã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 detecção de acertos e identificação de planos com rotulagem semântica (por exemplo, piso, paredes e mesas). Consulte o guia para desenvolvedores para saber mais sobre como trabalhar com o ARCore para Jetpack XR.
Session: o ARCore para Jetpack XR usa o ambiente de execução do Jetpack XR para ativar 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. Você pode usarsubscribepara receber notificações sobre os planos detectados mais recentes oustatepara receber notificações sobre as mudanças em um plano 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. Você pode usar
persistpara armazená-las,getPersistedAnchorUuidspara enumerá-las eloadpara recuperá-las. Verifique se vocêunpersistelas quando 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 uma AnchorEntity, usegetAnchorpara recuperar a âncora de apoio.Ofereça interações naturais do usuário usando
hitTest. Um hitTest usa umRaypara determinar quais conteúdos ele cruza e para criar umaAnchordesse local. Considere realizar um hitTest de umInputEvent.
Problemas conhecidos
Pode haver um atraso entre a chamada de
unpersiste a remoção do UUID dos resultados retornados porgetPersistedAnchorUuids.createnão vai validar se o sistema tem recursos suficientes para retornar novas âncoras. A criação de uma quantidade excessiva de âncoras pode levar a uma falha.No momento, não é possível persistir uma âncora que foi persistida e não persistida anteriormente.
O uso no emulador é compatível, mas o comportamento pode não ser tão estável quanto a execução em um dispositivo real. Em particular, as chamadas para
createpodem falhar com um erro de código nativo e encerrar imediatamente a atividade.Em determinadas circunstâncias, uma
RuntimeExceptionpode ser gerada erroneamente ao chamarpersistcom a mensagem "A âncora não foi persistida". Nessas circunstâncias, a função ainda será bem-sucedida e a âncora será persistida. Recomendamos envolver a chamada parapersistcom um blocotrycomo solução alternativa.