ARCore para Jetpack XR
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 21 de outubro de 2026 | 1.0.0 | - | - | 1.1.0-alpha01 |
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 ver 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.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.1.0-alpha01") }
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.1
Versão 1.1.0-alpha01
21 de outubro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estes commits.
Mudanças na API
- Introdução da API
SpatialAnnotationpara rastrear geometrias e objetos físicos em 3D. AdicionamosSpatialAnnotationTrackingOptionse o padrão de builder correspondente para configurar o rastreamento espacial usando buffers de imagem da câmera. (I918ce). - Introdução de
SpatialAnnotationeSpatialAnnotationTrackingModeao Jetpack XR ARCore, permitindo que os desenvolvedores configurem e rastreiem geometrias quadrilaterais 3D arbitrárias (Quad) direcionadas a ambientes espaciais físicos do mundo real. (I880e4). - Adição de
TestSpatialAnnotationpara permitir a simulação programática de anotações espaciais em testes automatizados. (If2335). - Adicionamos
geospatialPose,horizontalAccuracy,verticalAccuracyeorientationYawAccuracycomo novas APIs para fornecer mais informações no estado geoespacial. (If28f8).
Correções de bugs
- A dependência
androidx.lifecycle:lifecycle-runtimefoi atualizada para 2.10.0. Essa versão é necessária para que as verificações de lint do ciclo de vida do pacote sejam executadas com o AGP versão 9.5.0-alpha04 ou mais recente. (I99bfd, b/556807521). - Verificamos se a contagem máxima de imagens é 0 ao configurar
AugmentedImage, gerandoUnsupportedOperationExceptionem vez de falhar inesperadamente. I6ce439 - Corrigir vazamentos de memória e problemas de simultaneidade em
AugmentedImageRendererrastreando e cancelando corretamente os jobs de renderização, descartando entidades e modificando com segurança a coleção de imagens. Ie70760
Versão 1.0
Versão 1.0.0
21 de outubro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0. A versão 1.0.0 contém estes commits.
Principais recursos da versão 1.0.0:
- O ARCore para Jetpack XR agora está estável. A biblioteca ARCore para Jetpack XR oferece recursos para combinar conteúdo digital com o mundo real. Essa biblioteca inclui rastreamento de movimento, âncoras persistentes, teste de hit, identificação de plano com rótulos semânticos (por exemplo, chão, paredes e mesas) e poses geoespaciais usando o Sistema de Posicionamento Visual do Google.
- Para mais informações, consulte nosso Guia para desenvolvedores e a Referência da API.
Versão 1.0.0-rc02
7 de outubro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações.
Correções de bugs
- Correção de um problema em que o
OpenXrRuntimenão conseguia configurar a sessão quando o rastreamento de imagens aumentadas não era compatível. (I8b9759). - Correção de vários problemas, incluindo: melhoria no gerenciamento de memória em
XrInstanceManagerusandoapplicationContext, resolução de possíveis problemas relacionados ao ciclo de vida simplificando os mecanismos de armazenamento em cache deSessioneScenee melhoria doReferenceCleanerpara garantir registros de limpeza com concorrência segura e descartes explícitos. (Id0b76c).
Versão 1.0.0-rc01
9 de setembro de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-rc01. A versão 1.0.0-rc01 contém estes commits.
Versão 1.0.0-beta02
12 de agosto de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-beta02. A versão 1.0.0-beta02 contém estes commits.
Correções de bugs
- Correção de um problema de simultaneidade na persistência de âncoras do
OpenXR. (I15c8b). - Implementamos
toString()em mais classes para depuração. (I587e8).
Versão 1.0.0-beta01
15 de julho de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.
Mudanças na API
- Atualizamos o modificador redimensionável para usar um
ResizePolicyem vez de dois modificadores (I7fb0f, b/496257436, b/519672992). - Adicionamos uma sobrecarga móvel com o parâmetro
movePolicye descontinuamostransformingMovableemovable(Ic88c1, b/481781189). - Remoção de
TrackingState.TRACKING_DEGRADED da superfície da API pública e mapeamento dos estados degradados do ambiente de execução para PAUSED. Atualização deTrackingStatepara usar tipos enumerados em vez de valores int para conversão de string e de ambiente de execução. (I3eb5b, b/524326338). - Session.create foi convertida em uma função de suspensão. (I5d27f).
- O
ProjectedPermissionsResultContractfoi descontinuado (I141d5, b/515699436). AnchorEntityfoi atualizado paraAnchorSpace(Ifa95e, b/513619219).
Versão 1.0.0-alpha15
17 de junho de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha15. A versão 1.0.0-alpha15 contém estas confirmações.
Mudanças na API
HitResult.createAnchorfoi removido. Os desenvolvedores podem criar uma âncora que represente oHitResultse o rastreável do resultado for umAnchorable, fornecendo a posição do hit para a funçãocreateAnchordoAnchorable. (Ia851e).AnchorUnsupportedObjectfoi removido. Ele não é mais gerado por um ambiente de execução do ARCore JXR. (Ia851e).androidx.xr.arcore.Anchoreandroidx.xr.arcore.ArDeviceagora implementamandroidx.xr.arcore.Trackable. (I57b65).Depth.left,Depth.righteDepth.monoagora não são anuláveis (I1fc5e).Face.getUserFaceagora não é anulável (I0eac1).RenderViewpoint.left,RenderViewpoint.righteRenderViewpoint.monoagora não são anuláveis (Icf7fa).Hand.lefteHand.rightnão são anuláveis (Icef37).- Adição da API
QrCode(Ia0bbe)
Versão 1.0.0-alpha14
19 de maio de 2026
Lançamento de androidx.xr.arcore:arcore-*:1.0.0-alpha14. A versão 1.0.0-alpha14 contém estas confirmações.
Mudanças na API
- Descontinuação de
GeospatialMode.VPS_AND_GPSem favor deGeospatialMode.SPATIALe introdução de um novo modo de rastreamento de menor consumo de energia,GeospatialMode.INERTIAL, que usa apenas IMU e GPS. (I1e6cd). - Classes de exceção de âncora personalizadas:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptioneAnchorUnsupportedObjectExceptionagora são instâncias deRuntimeException, que não devem ser verificadas. (I9356e). - Adicionamos a API
ArCoreTestRule, incluindoTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointeTestTrackable(I0ad3c). - Remove
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationeAnchorCreateNotAuthorized. Todos esses erros agora são exceções no ambiente de execução. RemoveAnchorCreateIllegalState. Ele foi substituído porAnchorCreateTrackingUnavailablena maioria dos casos. AdicionaAnchorExceptione as classes derivadasAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptioneAnchorUnsupportedObjectException. (I4c4dd).
Contribuição externa
- Adição da API
AugmentedImagepara rastreamento de marcadores personalizados (I0cf09).
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 estas confirmações.
Mudanças na API
TrackingStateeVpsAvailabilityResultforam movidos paraandroidx.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 são alguns exemplos 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). - Mudança no Orbiter para usar um
OrbiterAnchorPoint + VolumeOffsetou umOrbiterPoseProviderem vez de posição, deslocamento, offsetType, alinhamento e elevação. Também removemos o parâmetroshouldRenderInNonSpatial. Se o desenvolvedor não quiser que o orbiter seja renderizado em modo não espacial, ele precisa envolver o orbiter em uma instrução if e verificar oSpatialCapabilities. (I9fbb3, b/462428503). - Adição de modificadores móveis. Esses modificadores funcionam bem, no momento, para
SpatialPanelseSpatialExternalSurface. Em breve, eles também serão compatíveis com oSpatialGltfModels. No entanto, a intenção é que eles sejam compatíveis com todos osSubspaceComposables. (I9a3cd, b/479530787, b/478935063, b/478935063) - Os desenvolvedores precisam observar o fluxo de
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 tipo enumerado
HandJointTypeforam renomeados. (Ifbc83, b/482670596). - As constantes
FaceConfidenceRegionforam renomeadas. (Ia62d5, b/482670596). - As constantes
FaceBlendShapeTypeforam renomeadas. (I33b8b, b/482670596). CreatePoseFromGeospatialPoseErrorInternaleCreateGeospatialPoseFromPoseErrorInternalforam adicionados. (I4bcf1, b/482666615).- Renomeamos
DeviceTrackingMode.LAST_KNOWNcomoSPATIAL_LAST_KNOWN(com um substituto descontinuado), adicionamosINERTIAL_LAST_KNOWNpara rastreamento de 3DoF e adicionamosTRACKING_DEGRADEDaTrackingState. (Ie661c, b/445466590). - O uso de
GroupEntityfoi descontinuado. Para ter uma entidade apenas com a funcionalidade básica, chameEntity.create, que vai retornar uma interface Entity. (I4c450, b/473867483) - Adição da API
XrLog. 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
- Mudança de
Config.augmentedObjectCategoriesde uma lista para um conjunto. (I25a64, b/487376359). - Os tipos
androidx.xr.arcore.Eyeeandroidx.xr.arcore.Hand. (I42438, b/449032900). - Adicionamos a sobrecarga de
Session.createpara permitir a transmissão de um contexto do Android para o escopo de recursos. (I7d3fe, b/415805990, b/477386334). - Muda
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITparaFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235). - A API
TiltGesturefoi marcada como experimental, já que pode ser alterada ou removida no futuro. Para usar essa API, ative a@ExperimentalGesturesApi(Ic9858). - Adicionamos a capacidade de definir categorias para o rastreamento de
AugmentedObjectna configuração (I1f6e4, b/480220930).
Correções de bugs
- A build do Chrome foi corrigida com a atualização do 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
- Introduz a API
TiltGesture, que fornece umFlowreativo para detecção estável do estado de inclinação do dispositivo (PARA CIMA/PARA BAIXO) com progresso de transição. (Ic269f, b/448152779). - O ARCore para Jetpack XR agora usa o mecanismo de registro do ambiente de execução de XR. Consulte
androidx.xr.runtime.Logpara mais informações. (l52735, b/448697662).
Mudanças na API
- O
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. - Adição de APIs geoespaciais para disponibilidade do 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 para: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). - Adição de
ArDeviceeRenderViewpointpara permitir que os aplicativos recuperem a pose e a configuração de exibição do dispositivo para fins de renderização. (Ib7e3f). - Renomeie os tipos enumerados
HandJointTypecom o prefixoHAND_JOINT_TYPE_. (I3f7cd). HandJointTypefoi movido dexr:runtime:runtimeparaxr:arcore:arcore. (Iadb9c, b/409058039).- O
Hand.Stateagora expõe umjava.nio.FloatBuffercom as poses de articulação em um formato que permite acesso fácil a aplicativos orientados ao 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
- Adição de
getPrimaryHandSidepara que o desenvolvedor possa receber as informações do lado da mão (I270bd). - Adição da API de verificação geoespacial de 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 usar a 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 usar a 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). - Essa biblioteca agora usa as 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.loadretornaráAnchor.AnchorLoadInvalidUuidse o UUID for inválido.
Versão 1.0.0-alpha03
26 de fevereiro de 2025
A versão androidx.xr.arcore:arcore:1.0.0-alpha03 foi lançada 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
- Adicionamos suporte à captura de movimentos das 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
Anchor.detachnão causa mais uma falha fatal devido a uma 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, a biblioteca ARCore para Jetpack XR oferece recursos para combinar conteúdo digital com o mundo real. Essa biblioteca inclui rastreamento de movimento, âncoras persistentes, teste de hit e identificação de plano com rotulagem semântica (por exemplo, chão, 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 oferecer as funcionalidades. Você vai usar uma sessão para interagir com a maioria das APIs do ARCore para Jetpack XR. Por isso, 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 planos detectados mais recentemente 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. Use
persistpara armazená-los,getPersistedAnchorUuidspara enumerá-los eloadpara recuperá-los. Não se esqueça deunpersistquando não estiverem mais em uso.As âncoras são interoperáveis entre o ARCore para Jetpack XR e o Jetpack SceneCore. É possível criar um
AnchorEntityusando uma âncora ou, se você já tiver uma AnchorEntity, usegetAnchorpara recuperar a âncora de apoio.Ofereça interações naturais ao usuário usando o
hitTest. Um hitTest usa umRaypara determinar quais conteúdos ele cruza e criar umAnchora partir desse 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.O
createnão vai validar 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 não mantida anteriormente.
O uso no emulador é aceito, 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 a atividade imediatamente.Em determinadas circunstâncias, um
RuntimeExceptionpode ser gerado por engano ao chamarpersistcom a mensagem "A âncora não foi mantida". Nessas circunstâncias, a função ainda será bem-sucedida, e a âncora será mantida. Recomendamos que você use um blocotrypara encapsular a chamada parapersistcomo solução alternativa.