ARCore для Jetpack XR
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 9 сентября 2026 г. | - | 1.0.0-rc01 | - | - |
Объявление зависимостей
Чтобы добавить зависимость от ARCore для Jetpack XR, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
Котлин
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.0
Версия 1.0.0-rc01
9 сентября 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты .
Версия 1.0.0-beta02
12 августа 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-beta02 . Версия 1.0.0-beta02 содержит следующие коммиты .
Исправлены ошибки
- Исправлена проблема параллельного доступа при сохранении привязки
OpenXR. ( I15c8b ) - Для отладки реализована
toString()в большем количестве классов. ( I587e8 )
Версия 1.0.0-beta01
15 июля 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Изменения в API
- Обновлен модификатор resizeable: теперь вместо двух модификаторов используется
ResizePolicy( I7fb0f , b/496257436 , b/519672992 ). - Добавлена перегрузка метода movable с параметром
movePolicy, аtransformingMovableиmovableобъявлены устаревшими ( Ic88c1 , b/481781189 ). - Удалён
TrackingState.TRACKING_DEGRADED из публичного API, вместо него сопоставляются ухудшенные состояния во время выполнения с PAUSED. ОбновлёнTrackingState, чтобы использовать перечисления вместо целочисленных значений для преобразования строк и преобразования во время выполнения. ( I3eb5b , b/524326338 ) - Функция Session.create преобразована в функцию приостановки. ( I5d27f )
- Устаревший контракт
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) -
AnchorEntityбыл переименован вAnchorSpace( Ifa95e , b/513619219 )
Версия 1.0.0-alpha15
17 июня 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha15 . Версия 1.0.0-alpha15 содержит следующие коммиты .
Изменения в API
-
HitResult.createAnchorбыл удален. Разработчики могут создать якорь, представляющий результатHitResultесли отслеживаемый объект результата являетсяAnchorable, передав позицию попадания в функциюcreateAnchorобъектаAnchorable. ( Ia851e ) - Ошибка
AnchorUnsupportedObjectбыла удалена. Она больше не возникает в среде выполнения JXR ARCore. ( Ia851e ) -
androidx.xr.arcore.Anchorиandroidx.xr.arcore.ArDeviceтеперь реализуют интерфейсandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.rightиDepth.monoтеперь не допускают значения null ( I1fc5e ). - Теперь
Face.getUserFaceне допускает значения null ( I0eac1 ). -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoтеперь не допускают значения null ( Icf7fa ). -
Hand.leftиHand.rightне являются ненулевыми ( Icef37 ) - Добавлен API
QrCode( Ia0bbe ).
Версия 1.0.0-alpha14
19 мая 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha14 . Версия 1.0.0-alpha14 содержит следующие коммиты .
Изменения в API
- Устаревший режим
GeospatialMode.VPS_AND_GPSв пользуGeospatialMode.SPATIALи новый режим слежения с меньшим энергопотреблением,GeospatialMode.INERTIAL, использующий только IMU и GPS. ( I1e6cd ) - Пользовательские классы исключений при привязке:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionиAnchorUnsupportedObjectExceptionтеперь являются экземплярамиRuntimeExceptionи не предназначены для проверки. ( I9356e ) - Добавлен API
ArCoreTestRule, включаяTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointиTestTrackable( I0ad3c ). - Удаляет
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationиAnchorCreateNotAuthorized. Все эти ошибки теперь являются исключениями во время выполнения. УдаляетAnchorCreateIllegalState. В большинстве случаев она заменена наAnchorCreateTrackingUnavailable. ДобавляетAnchorExceptionи производные классыAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionиAnchorUnsupportedObjectException. ( I4c4dd )
Внешний вклад
- Добавлен API
AugmentedImageдля отслеживания пользовательских маркеров ( I0cf09 ).
Версия 1.0.0-alpha13
6 мая 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha13 . Версия 1.0.0-alpha13 содержит следующие коммиты .
Изменения в API
-
TrackingStateиVpsAvailabilityResultперенесены вandroidx.xr.arcore package, а типы вandroidx.xr.runtimeтеперь устарели. ( Ic7930 , b/480462213 ) - Переименована
Plane.TypeвPlaneType. ( I8c90c , b/482675376 ) - Переименовано
Hand.HandSideвHandSide. ( Ica562 , b/482675376 ) - Переименован
Plane.LabelвPlaneLabel. ( Ic6b67 , b/482675376 ) - Переименован
Geospatial.SurfaceвGeospatialSurface. ( I1a8be , b/482675376 ) - Переименовано
Geospatial.StateвGeospatialState. ( I203fa , b/482675376 ) - API
NativeDataперенесен в библиотекуxr:runtime:runtime. ( I87954 , b/494251500 ) -
Session.createиSession.configureтеперь не являются исчерпывающими и требуют добавления else-оговорок в операторе when. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewустарел. Используйтеandroidx.xr.runtime.math.FieldOfViewвместо него. ( Ia01a0 , b/480233045 ) - Изменено поведение Orbiter: теперь вместо position, offset, offsetType, alignment и elevation используется либо
OrbiterAnchorPoint + VolumeOffset, либоOrbiterPoseProvider. Также удален параметрshouldRenderInNonSpatial. Если разработчик не хочет, чтобы Orbiter отображался в непространственном режиме, ему следует обернуть Orbiter в оператор if и проверитьSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Добавлены модификаторы перемещения. В настоящее время эти модификаторы хорошо работают для
SpatialPanelsиSpatialExternalSurface. Очень скоро они также будут поддерживаться дляSpatialGltfModels. Однако планируется обеспечить их хорошую поддержку для всехSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Разработчики должны отслеживать поток
ArDevice.state, контролироватьState.trackingStateи соответствующим образом корректировать отображение приложения или предупреждения в зависимости от точности отслеживания. ( Ic00f0 , b/445466590 ) - Переименованы значения перечисления
HandJointType. ( Ifbc83 , b/482670596 ) - Переименованы константы
FaceConfidenceRegion. ( Ia62d5 , b/482670596 ) - Переименованы константы
FaceBlendShapeType. ( I33b8b , b/482670596 ) - Добавлены
CreatePoseFromGeospatialPoseErrorInternalиCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Переименовано
DeviceTrackingMode.LAST_KNOWNвSPATIAL_LAST_KNOWN(с устаревшим резервным вариантом), добавленоINERTIAL_LAST_KNOWNдля отслеживания 3 степеней свободы и добавленоTRACKING_DEGRADEDвTrackingState. ( Ie661c , b/445466590 ) - Устаревшая
GroupEntity. Чтобы получить сущность только с базовой функциональностью, вызовитеEntity.create, которая вернет интерфейс сущности. ( I4c450 , b/473867483 ) - Добавлен API
XrLog. УстановитеXrLog.isEnabledвtrue, чтобы включить логирование в JetpackXR, и используйтеXrLog.Levelдля установки уровня логирования. ( I76a1f , b/463460895 , b/487378441 )
Исправлены ошибки
- Добавить поддержку отслеживания состояния устройства для устройств OpenXR. ( I91485 , b/445466590 )
Версия 1.0.0-alpha12
25 марта 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .
Изменения в API
- Изменено значение
Config.augmentedObjectCategoriesсо списка на множество. ( I25a64 , b/487376359 ) - Типы
androidx.xr.arcore.Eyeиandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Добавлена перегрузка
Session.create, позволяющая передавать контекст Android для определения области видимости ресурсов. ( I7d3fe , b/415805990 , b/477386334 ) - Заменяет
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITнаFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - API
TiltGestureнаходится в экспериментальном режиме, так как в будущем он может быть изменен или удален. Чтобы использовать этот API, подпишитесь на@ExperimentalGesturesApi( Ic9858 ). - Добавлена возможность устанавливать категории для отслеживания
AugmentedObjectв конфигурации ( I1f6e4 , b/480220930 )
Исправлены ошибки
- Исправлена сборка Chrome путем обновления файла META-INF/services/ с указанием фактического местоположения
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Версия 1.0.0-alpha11
25 февраля 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Версия 1.0.0-alpha10
28 января 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит следующие коммиты .
Новые функции
- Представляет API
TiltGesture, обеспечивающий реактивныйFlowдля стабильного определения состояния наклона устройства (ВВЕРХ/ВНИЗ) с отслеживанием процесса перехода. ( Ic269f , b/448152779 ) - ARCore для Jetpack XR теперь использует механизм логирования XR Runtime Logging. Дополнительную информацию см. в файле
androidx.xr.runtime.Log. ( l52735 , b/448697662 )
Изменения в API
-
Geospatial.createPoseFromGeospatialPoseтеперь работает на устройствах с поддержкой OpenXR. ( l362c6 )
Версия 1.0.0-alpha09
3 декабря 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .
Версия 1.0.0-alpha08
19 ноября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты .
Новые функции
- Теперь
ARCoreдля Jetpack XR поддерживает устройства, на которых доступны сервисы Google Play для дополненной реальности. - Добавлены геопространственные API для проверки доступности VPS и преобразования положения ( I144dc )
Версия 1.0.0-alpha07
22 октября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты .
Исправлены ошибки
-
:xr:arcore:arcore-openxrдобавлен в качестве зависимости реализации к:xr:arcore:arcore( I47315 , b/446999229 )
Версия 1.0.0-alpha06
24 сентября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .
Изменения в API
- Поддержка тестирования
ARCoreперенесена в модульxr:arcore:arcore-testing. ( I25469 ) - Добавление
ArDeviceиRenderViewpoint, позволяющих приложениям получать положение устройства и конфигурацию дисплея для целей рендеринга. ( Ib7e3f ) - Переименуйте перечисления
HandJointType, добавив префиксHAND_JOINT_TYPE_. ( I3f7cd ) -
HandJointTypeперемещен из xr:xr:runtime:runtimexr:arcore:arcore. ( Iadb9c , b/409058039 ) - Теперь
Hand.Stateпредоставляет объектjava.nio.FloatBufferс данными о положении суставов в формате, обеспечивающем легкий доступ для приложений, ориентированных на производительность. ( I55e27 )
Версия 1.0.0-alpha05
30 июля 2025 г.
Выпущены androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 и androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .
Новые функции
- Добавьте
getPrimaryHandSide, чтобы разработчик мог получить информацию о положении руки ( I270bd ). - Добавить API для проверки доступности VPS с использованием геопространственных данных ( I58573 )
- Добавить API ARCore для
checkVpsAvailability( Idbded ). - В пакет
:xr:arcore:arcore-rxjava3добавлены функции расширенияstateFlowableдля использования Java-разработчиками. ( I083aa , b/427247794 )
Изменения в API
- Значения параметров Config
*Modeбыли переименованы в соответствии с их поведением. ( I6d247 , b/414648065 ) - Основной артефакт ARCore (xr:arcore:arcore) будет содержать только асинхронные API в стиле Kotlin. Java-разработчики могут использовать библиотеку
xr:arcore:arcore-rxjava3для доступа к совместимым API. ( Ia525e , b/422794329 ) - Основной артефакт ARCore (
xr:scenecore:scenecore) будет содержать только асинхронные API в стиле Kotlin. Java-разработчики могут использовать библиотекуxr:arcore:arcore-guavaдля доступа к совместимым API. ( Iffcb4 , b/422773524 ) - В
AnchorGuavaдобавленаAnchor.persistAsync()для использования Java-разработчиками. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)добавлен вEarthGuavaдля использования Java-разработчиками. ( I66357 , b/425992992 ) - Java-разработчики будут использовать функции расширения для
GltfModel.createAsyncвGltfModel.kt. Асинхронные функции вGltfModelбудут удалены. ( I0af60 ) - В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin) ( Ia8420 , b/326456246 ) -
subscribeAsFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( Id3e49 , b/427277298 )
Версия 1.0.0-alpha04
7 мая 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .
Изменения в API
- Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия. ( Idb6b5 )
-
TrackingStateиHandJointTypeперенесены из ARCore в Runtime. -
Hand.State.isActive (boolean)изменено наHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadвозвращаетAnchor.AnchorLoadInvalidUuid, если UUID недействителен.
Версия 1.0.0-alpha03
26 февраля 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha03 без существенных изменений по сравнению с предыдущей альфа-версией. Версия 1.0.0-alpha03 содержит следующие коммиты .
Версия 1.0.0-alpha02
12 февраля 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .
Новые функции
- Добавлена поддержка отслеживания движений рук. Используйте
Hand.leftиHand.rightдля доступа к информации об отслеживании. - Теперь все API-интерфейсы, генерирующие якорь (
Anchor.create,Anchor.load,Plane.createAnchor), возвращаютAnchorCreateResultи корректно реализуютAnchorCreateResourcesExhausted.
Исправлены ошибки
-
Anchor.detachбольше не приводит к фатальному сбою из-за состояния гонки в потоке обновления сессии. -
Anchor.createработает более стабильно при запуске на эмуляторе.
Версия 1.0.0-alpha01
12 декабря 2024 г.
Выпущена версия androidx.xr.arcore:arcore-* 1.0.0-alpha01 .
Особенности первоначального выпуска
Созданная по образцу существующей библиотеки ARCore, библиотека ARCore для Jetpack XR предоставляет возможности для интеграции цифрового контента с реальным миром. Эта библиотека включает в себя отслеживание движения, постоянные привязки, проверку попаданий и идентификацию плоскостей с семантической маркировкой (например, пол, стены и столешницы). Для получения дополнительной информации о работе с ARCore для Jetpack XR ознакомьтесь с руководством для разработчиков .
Session: ARCore для Jetpack XR использует среду выполнения Jetpack XR для обеспечения своей функциональности. Для взаимодействия с большинством API ARCore для Jetpack XR вы будете использовать сессию, поэтому, пожалуйста, ознакомьтесь с документацией.Plane: Используйте самолеты, чтобы понять окружающий мир. Каждый самолет имеетLabel, которая описывает его семантически. Вы можете использоватьsubscribe, чтобы получать уведомления о последних обнаруженных самолетах, илиstate, чтобы получать уведомления об изменениях в конкретном самолете.Anchor: связь между виртуальным объектом и реальным местоположением. Якоря могут быть прикреплены к определенному месту в пространстве (с помощьюcreate) или кTrackable(с помощьюcreateAnchor).Якоря можно использовать повторно в разных сессиях. Для их хранения можно использовать
persist, для их перечисления —getPersistedAnchorUuids, а для их извлеченияload. Обязательноunpersistих из списка, когда они больше не используются.Якоря совместимы между ARCore для Jetpack XR и Jetpack SceneCore. Вы можете создать
AnchorEntityиспользуя якорь, или, если у вас уже есть AnchorEntity, вы можете использоватьgetAnchorдля получения его базового якоря.Обеспечьте естественное взаимодействие с пользователем, используя
hitTest. hitTest используетRayдля определения того, с каким содержимым он пересекается, и для созданияAnchorв этом месте. Рассмотрите возможность проведения hitTest изInputEvent.
Известные проблемы
Между вызовом функции
unpersistи удалением её UUID из результатов, возвращаемых функциейgetPersistedAnchorUuids, может возникнуть задержка.createне проверит, достаточно ли у системы ресурсов для возврата новых якорей. Создание чрезмерного количества якорей может привести к сбою.Сохранение ранее сохраненного и затем удаленного якоря в настоящее время не поддерживается.
Использование в эмуляторе поддерживается, но поведение может быть не таким стабильным, как при работе на реальном устройстве. В частности, вызовы функции
createмогут завершиться ошибкой в нативном коде и немедленно прекратить выполнение активности.В некоторых случаях при вызове функции
persistможет быть ошибочно выброшеноRuntimeExceptionс сообщением «Якорь не был сохранен». В таких обстоятельствах функция все равно будет выполнена успешно, и якорь будет сохранен. В качестве обходного пути мы рекомендуем обернуть вызов функцииpersistблокомtry.
ARCore для Jetpack XR
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 9 сентября 2026 г. | - | 1.0.0-rc01 | - | - |
Объявление зависимостей
Чтобы добавить зависимость от ARCore для Jetpack XR, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Add the dependencies for the artifacts you need in the build.gradle file for your app or module:
классный
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
Котлин
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.0
Версия 1.0.0-rc01
9 сентября 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Версия 1.0.0-beta02
12 августа 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-beta02 . Версия 1.0.0-beta02 содержит следующие коммиты .
Исправлены ошибки
- Исправлена проблема параллельного доступа при сохранении привязки
OpenXR. ( I15c8b ) - Для отладки реализована
toString()в большем количестве классов. ( I587e8 )
Версия 1.0.0-beta01
15 июля 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
Изменения в API
- Обновлен модификатор resizeable: теперь вместо двух модификаторов используется
ResizePolicy( I7fb0f , b/496257436 , b/519672992 ). - Added movable overload with
movePolicyparam and deprecatetransformingMovableandmovable( Ic88c1 , b/481781189 ) - Удалён
TrackingState.TRACKING_DEGRADED из публичного API, вместо него сопоставляются ухудшенные состояния во время выполнения с PAUSED. ОбновлёнTrackingState, чтобы использовать перечисления вместо целочисленных значений для преобразования строк и преобразования во время выполнения. ( I3eb5b , b/524326338 ) - Функция Session.create преобразована в функцию приостановки. ( I5d27f )
- Устаревший контракт
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) -
AnchorEntityбыл переименован вAnchorSpace( Ifa95e , b/513619219 )
Версия 1.0.0-alpha15
17 июня 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha15 . Версия 1.0.0-alpha15 содержит следующие коммиты .
Изменения в API
-
HitResult.createAnchorбыл удален. Разработчики могут создать якорь, представляющий результатHitResultесли отслеживаемый объект результата являетсяAnchorable, передав позицию попадания в функциюcreateAnchorобъектаAnchorable. ( Ia851e ) -
AnchorUnsupportedObjectwas removed. It is no longer thrown by a JXR ARCore runtime. ( Ia851e ) -
androidx.xr.arcore.Anchorиandroidx.xr.arcore.ArDeviceтеперь реализуют интерфейсandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.rightиDepth.monoтеперь не допускают значения null ( I1fc5e ). - Теперь
Face.getUserFaceне допускает значения null ( I0eac1 ). -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoare now non-nullable ( Icf7fa ) -
Hand.leftиHand.rightне являются ненулевыми ( Icef37 ) - Добавлен API
QrCode( Ia0bbe ).
Версия 1.0.0-alpha14
19 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .
Изменения в API
- Deprecating
GeospatialMode.VPS_AND_GPSin favor ofGeospatialMode.SPATIALand introducing a new lower-power tracking mode,GeospatialMode.INERTIAL, which uses only IMU and GPS. ( I1e6cd ) - Пользовательские классы исключений при привязке:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionиAnchorUnsupportedObjectExceptionтеперь являются экземплярамиRuntimeExceptionи не предназначены для проверки. ( I9356e ) - Добавлен API
ArCoreTestRule, включаяTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpointиTestTrackable( I0ad3c ). - Удаляет
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocationиAnchorCreateNotAuthorized. Все эти ошибки теперь являются исключениями во время выполнения. УдаляетAnchorCreateIllegalState. В большинстве случаев она заменена наAnchorCreateTrackingUnavailable. ДобавляетAnchorExceptionи производные классыAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureExceptionиAnchorUnsupportedObjectException. ( I4c4dd )
Внешний вклад
- Added
AugmentedImageAPI for custom marker tracking ( I0cf09 )
Версия 1.0.0-alpha13
6 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .
Изменения в API
-
TrackingStateandVpsAvailabilityResulthave moved to theandroidx.xr.arcore package, and the types inandroidx.xr.runtimeare now deprecated. ( Ic7930 , b/480462213 ) - Переименована
Plane.TypeвPlaneType. ( I8c90c , b/482675376 ) - Renamed
Hand.HandSidetoHandSide. ( Ica562 , b/482675376 ) - Renamed
Plane.LabeltoPlaneLabel. ( Ic6b67 , b/482675376 ) - Renamed
Geospatial.SurfacetoGeospatialSurface. ( I1a8be , b/482675376 ) - Renamed
Geospatial.StatetoGeospatialState. ( I203fa , b/482675376 ) - Moved
NativeDataAPI toxr:runtime:runtimelibrary. ( I87954 , b/494251500 ) -
Session.createandSession.configureare now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewустарел. Используйтеandroidx.xr.runtime.math.FieldOfViewвместо него. ( Ia01a0 , b/480233045 ) - Изменено поведение Orbiter: теперь вместо position, offset, offsetType, alignment и elevation используется либо
OrbiterAnchorPoint + VolumeOffset, либоOrbiterPoseProvider. Также удален параметрshouldRenderInNonSpatial. Если разработчик не хочет, чтобы Orbiter отображался в непространственном режиме, ему следует обернуть Orbiter в оператор if и проверитьSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Добавлены модификаторы перемещения. В настоящее время эти модификаторы хорошо работают для
SpatialPanelsиSpatialExternalSurface. Очень скоро они также будут поддерживаться дляSpatialGltfModels. Однако планируется обеспечить их хорошую поддержку для всехSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Разработчики должны отслеживать поток
ArDevice.state, контролироватьState.trackingStateи соответствующим образом корректировать отображение приложения или предупреждения в зависимости от точности отслеживания. ( Ic00f0 , b/445466590 ) - Переименованы значения перечисления
HandJointType. ( Ifbc83 , b/482670596 ) - Renamed
FaceConfidenceRegionconstants. ( Ia62d5 , b/482670596 ) - Renamed
FaceBlendShapeTypeconstants. ( I33b8b , b/482670596 ) - Добавлены
CreatePoseFromGeospatialPoseErrorInternalиCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Переименовано
DeviceTrackingMode.LAST_KNOWNвSPATIAL_LAST_KNOWN(с устаревшим резервным вариантом), добавленоINERTIAL_LAST_KNOWNдля отслеживания 3 степеней свободы и добавленоTRACKING_DEGRADEDвTrackingState. ( Ie661c , b/445466590 ) - Устаревшая
GroupEntity. Чтобы получить сущность только с базовой функциональностью, вызовитеEntity.create, которая вернет интерфейс сущности. ( I4c450 , b/473867483 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and useXrLog.Levelto set the log level. ( I76a1f , b/463460895 , b/487378441 )
Исправлены ошибки
- Add the device tracking state support to the openxr devices. ( I91485 , b/445466590 )
Версия 1.0.0-alpha12
25 марта 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .
Изменения в API
- Изменено значение
Config.augmentedObjectCategoriesсо списка на множество. ( I25a64 , b/487376359 ) - Типы
androidx.xr.arcore.Eyeиandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Changes
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITtoFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - API
TiltGestureнаходится в экспериментальном режиме, так как в будущем он может быть изменен или удален. Чтобы использовать этот API, подпишитесь на@ExperimentalGesturesApi( Ic9858 ). - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 )
Исправлены ошибки
- Исправлена сборка Chrome путем обновления файла META-INF/services/ с указанием фактического местоположения
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Версия 1.0.0-alpha11
25 февраля 2026 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит следующие коммиты .
Версия 1.0.0-alpha10
28 января 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
Новые функции
- Introduces
TiltGestureAPI, providing a reactiveFlowfor stable detection of device tilt (UP/DOWN) state with transition progress. ( Ic269f , b/448152779 ) - ARCore для Jetpack XR теперь использует механизм логирования XR Runtime Logging. Дополнительную информацию см. в
androidx.xr.runtime.Log. ( l52735 , b/448697662 )
Изменения в API
-
Geospatial.createPoseFromGeospatialPosenow works on OpenXR-enabled devices. ( l362c6 )
Версия 1.0.0-alpha09
3 декабря 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .
Версия 1.0.0-alpha08
19 ноября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты .
Новые функции
- Теперь
ARCoreдля Jetpack XR поддерживает устройства, на которых доступны сервисы Google Play для дополненной реальности. - Добавлены геопространственные API для проверки доступности VPS и преобразования положения ( I144dc )
Версия 1.0.0-alpha07
22 октября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты .
Исправлены ошибки
-
:xr:arcore:arcore-openxrдобавлен в качестве зависимости реализации к:xr:arcore:arcore( I47315 , b/446999229 )
Версия 1.0.0-alpha06
24 сентября 2025 г.
Выпущена версия androidx.xr.arcore:arcore-*:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .
Изменения в API
- Testing support for
ARCorehas migrated to thexr:arcore:arcore-testingmodule. ( I25469 ) - Добавление
ArDeviceиRenderViewpoint, позволяющих приложениям получать положение устройства и конфигурацию дисплея для целей рендеринга. ( Ib7e3f ) - Переименуйте перечисления
HandJointType, добавив префиксHAND_JOINT_TYPE_. ( I3f7cd ) -
HandJointTypeперемещен из xr:xr:runtime:runtimexr:arcore:arcore. ( Iadb9c , b/409058039 ) -
Hand.Statenow exposes ajava.nio.FloatBufferwith the joint poses in a format that allows easy access to performance-oriented applications. ( I55e27 )
Версия 1.0.0-alpha05
30 июля 2025 г.
Выпущены androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 и androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .
Новые функции
- Add
getPrimaryHandSideso the developer could get the hand side info ( I270bd ) - Добавить API для проверки доступности VPS с использованием геопространственных данных ( I58573 )
- Добавить API ARCore для
checkVpsAvailability( Idbded ). - В пакет
:xr:arcore:arcore-rxjava3добавлены функции расширенияstateFlowableдля использования Java-разработчиками. ( I083aa , b/427247794 )
Изменения в API
- Значения параметров Config
*Modeбыли переименованы в соответствии с их поведением. ( I6d247 , b/414648065 ) - Основной артефакт ARCore (xr:arcore:arcore) будет содержать только асинхронные API в стиле Kotlin. Java-разработчики могут использовать библиотеку
xr:arcore:arcore-rxjava3для доступа к совместимым API. ( Ia525e , b/422794329 ) - Основной артефакт ARCore (
xr:scenecore:scenecore) будет содержать только асинхронные API в стиле Kotlin. Java-разработчики могут использовать библиотекуxr:arcore:arcore-guavaдля доступа к совместимым API. ( Iffcb4 , b/422773524 ) - В
AnchorGuavaдобавленаAnchor.persistAsync()для использования Java-разработчиками. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)добавлен вEarthGuavaдля использования Java-разработчиками. ( I66357 , b/425992992 ) - Java-разработчики будут использовать функции расширения для
GltfModel.createAsyncвGltfModel.kt. Асинхронные функции вGltfModelбудут удалены. ( I0af60 ) - В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin) ( Ia8420 , b/326456246 ) - В библиотеку
:xr:arcore:arcore-rxjava3добавлены функции расширенияsubscribeAsFlowableдля использования Java-разработчиками. ( Id3e49 , b/427277298 )
Версия 1.0.0-alpha04
7 мая 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .
Изменения в API
- Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия. ( Idb6b5 )
-
TrackingStateиHandJointTypeперенесены из ARCore в Runtime. -
Hand.State.isActive (boolean)изменено наHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadвозвращаетAnchor.AnchorLoadInvalidUuid, если UUID недействителен.
Версия 1.0.0-alpha03
26 февраля 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha03 без существенных изменений по сравнению с предыдущей альфа-версией. Версия 1.0.0-alpha03 содержит следующие коммиты .
Версия 1.0.0-alpha02
12 февраля 2025 г.
Выпущена версия androidx.xr.arcore:arcore:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .
Новые функции
- Добавлена поддержка отслеживания движений рук. Используйте
Hand.leftиHand.rightдля доступа к информации об отслеживании. - Теперь все API-интерфейсы, генерирующие якорь (
Anchor.create,Anchor.load,Plane.createAnchor), возвращаютAnchorCreateResultи корректно реализуютAnchorCreateResourcesExhausted.
Исправлены ошибки
-
Anchor.detachбольше не приводит к фатальному сбою из-за состояния гонки в потоке обновления сессии. -
Anchor.createработает более стабильно при запуске на эмуляторе.
Версия 1.0.0-alpha01
12 декабря 2024 г.
Выпущена версия androidx.xr.arcore:arcore-* 1.0.0-alpha01 .
Особенности первоначального выпуска
Созданная по образцу существующей библиотеки ARCore, библиотека ARCore для Jetpack XR предоставляет возможности для интеграции цифрового контента с реальным миром. Эта библиотека включает в себя отслеживание движения, постоянные привязки, проверку попаданий и идентификацию плоскостей с семантической маркировкой (например, пол, стены и столешницы). Для получения дополнительной информации о работе с ARCore для Jetpack XR ознакомьтесь с руководством для разработчиков .
Session: ARCore для Jetpack XR использует среду выполнения Jetpack XR для обеспечения своей функциональности. Для взаимодействия с большинством API ARCore для Jetpack XR вы будете использовать сессию, поэтому, пожалуйста, ознакомьтесь с документацией.Plane: Используйте самолеты, чтобы понять окружающий мир. Каждый самолет имеетLabel, которая описывает его семантически. Вы можете использоватьsubscribe, чтобы получать уведомления о последних обнаруженных самолетах, илиstate, чтобы получать уведомления об изменениях в конкретном самолете.Anchor: связь между виртуальным объектом и реальным местоположением. Якоря могут быть прикреплены к определенному месту в пространстве (с помощьюcreate) или кTrackable(с помощьюcreateAnchor).Якоря можно использовать повторно в разных сессиях. Для их хранения можно использовать
persist, для их перечисления —getPersistedAnchorUuids, а для их извлеченияload. Обязательноunpersistих из списка, когда они больше не используются.Якоря совместимы между ARCore для Jetpack XR и Jetpack SceneCore. Вы можете создать
AnchorEntityиспользуя якорь, или, если у вас уже есть AnchorEntity, вы можете использоватьgetAnchorдля получения его базового якоря.Обеспечьте естественное взаимодействие с пользователем, используя
hitTest. hitTest используетRayдля определения того, с каким содержимым он пересекается, и для созданияAnchorв этом месте. Рассмотрите возможность проведения hitTest изInputEvent.
Известные проблемы
Между вызовом функции
unpersistи удалением её UUID из результатов, возвращаемых функциейgetPersistedAnchorUuids, может возникнуть задержка.createне проверит, достаточно ли у системы ресурсов для возврата новых якорей. Создание чрезмерного количества якорей может привести к сбою.Сохранение ранее сохраненного и затем удаленного якоря в настоящее время не поддерживается.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.
ARCore for Jetpack XR
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 9 сентября 2026 г. | - | 1.0.0-rc01 | - | - |
Объявление зависимостей
To add a dependency on ARCore for Jetpack XR, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for your app or module:
классный
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
Котлин
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
For more information about dependencies, see Add build dependencies .
Обратная связь
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Версия 1.0
Version 1.0.0-rc01
9 сентября 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Version 1.0.0-beta02
12 августа 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
Исправлены ошибки
- Fix concurrency issue in
OpenXRanchor persistence. ( I15c8b ) - Implemented
toString()in more classes for debugging. ( I587e8 )
Version 1.0.0-beta01
15 июля 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
Изменения в API
- Updated resizable modifier to use a
ResizePolicyinstead of two modifiers ( I7fb0f , b/496257436 , b/519672992 ) - Added movable overload with
movePolicyparam and deprecatetransformingMovableandmovable( Ic88c1 , b/481781189 ) - Removed
TrackingState.TRACKING_DEGRADED from public API surface and map runtime degraded states to PAUSED instead. UpdateTrackingStateto use enums instead of int values for string conversion and runtime conversion. ( I3eb5b , b/524326338 ) - Converted Session.create to a suspend function. ( I5d27f )
- Deprecated the
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) - Updated
AnchorEntityto be calledAnchorSpace( Ifa95e , b/513619219 )
Version 1.0.0-alpha15
17 июня 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
Изменения в API
-
HitResult.createAnchorwas removed. Developers can create an anchor representing theHitResultif the trackable of the result is anAnchorableby supplying the hit position to thecreateAnchorfunction of theAnchorable. ( Ia851e ) -
AnchorUnsupportedObjectwas removed. It is no longer thrown by a JXR ARCore runtime. ( Ia851e ) -
androidx.xr.arcore.Anchorandandroidx.xr.arcore.ArDevicenow implementandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.right, andDepth.monoare now non-nullable ( I1fc5e ) -
Face.getUserFaceis now non-nullable ( I0eac1 ) -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoare now non-nullable ( Icf7fa ) -
Hand.leftandHand.rightare non non-nullable ( Icef37 ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
19 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .
Изменения в API
- Deprecating
GeospatialMode.VPS_AND_GPSin favor ofGeospatialMode.SPATIALand introducing a new lower-power tracking mode,GeospatialMode.INERTIAL, which uses only IMU and GPS. ( I1e6cd ) - Custom anchor exception classes:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectExceptionare nowRuntimeExceptioninstances, not intended to be checked. ( I9356e ) - Added
ArCoreTestRuleAPI, includingTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpoint, &TestTrackable( I0ad3c ) - Removes
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocation, andAnchorCreateNotAuthorized. All of these errors are now exceptions in the runtime. RemovesAnchorCreateIllegalState. This has been replaced withAnchorCreateTrackingUnavailablein most cases. AddsAnchorExceptionand derived classesAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectException. ( I4c4dd )
Внешний вклад
- Added
AugmentedImageAPI for custom marker tracking ( I0cf09 )
Version 1.0.0-alpha13
6 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .
Изменения в API
-
TrackingStateandVpsAvailabilityResulthave moved to theandroidx.xr.arcore package, and the types inandroidx.xr.runtimeare now deprecated. ( Ic7930 , b/480462213 ) - Renamed
Plane.TypetoPlaneType. ( I8c90c , b/482675376 ) - Renamed
Hand.HandSidetoHandSide. ( Ica562 , b/482675376 ) - Renamed
Plane.LabeltoPlaneLabel. ( Ic6b67 , b/482675376 ) - Renamed
Geospatial.SurfacetoGeospatialSurface. ( I1a8be , b/482675376 ) - Renamed
Geospatial.StatetoGeospatialState. ( I203fa , b/482675376 ) - Moved
NativeDataAPI toxr:runtime:runtimelibrary. ( I87954 , b/494251500 ) -
Session.createandSession.configureare now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewhas been deprecated. Useandroidx.xr.runtime.math.FieldOfViewinstead. ( Ia01a0 , b/480233045 ) - Changed Orbiter to use either an
OrbiterAnchorPoint + VolumeOffsetor anOrbiterPoseProviderinstead of position, offset, offsetType, alignment, and elevation. Also removed theshouldRenderInNonSpatialparameter. If the developer does not want the orbiter to render in non-spatial they should wrap the orbiter in an if statement and check theSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Added movable modifiers. These modifiers work well, right now, for
SpatialPanelsandSpatialExternalSurface. Very soon they will also be supported forSpatialGltfModels. However, the intention is to have these supported well for allSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Developers are expected to observe the
ArDevice.stateFlow to monitorState.trackingStateand adjust their application's rendering or warnings accordingly based on the tracking fidelity. ( Ic00f0 , b/445466590 ) - Renamed
HandJointTypeenum values. ( Ifbc83 , b/482670596 ) - Renamed
FaceConfidenceRegionconstants. ( Ia62d5 , b/482670596 ) - Renamed
FaceBlendShapeTypeconstants. ( I33b8b , b/482670596 ) - Added
CreatePoseFromGeospatialPoseErrorInternalandCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Deprecated
GroupEntity. To have an Entity with only the base Entity functionality, callEntity.createwhich will return and Entity interface. ( I4c450 , b/473867483 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and useXrLog.Levelto set the log level. ( I76a1f , b/463460895 , b/487378441 )
Исправлены ошибки
- Add the device tracking state support to the openxr devices. ( I91485 , b/445466590 )
Version 1.0.0-alpha12
25 марта 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .
Изменения в API
- Changed
Config.augmentedObjectCategoriesfrom a List to a Set. ( I25a64 , b/487376359 ) - The types
androidx.xr.arcore.Eyeandandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Changes
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITtoFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - Making
TiltGestureAPI experimental as it may be changed or removed in the future. To use this api, opt in to@ExperimentalGesturesApi( Ic9858 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 )
Исправлены ошибки
- Fixed Chrome's build by updating META-INF/services/ file with actual location of
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Version 1.0.0-alpha11
25 февраля 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
Version 1.0.0-alpha10
28 января 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
Новые функции
- Introduces
TiltGestureAPI, providing a reactiveFlowfor stable detection of device tilt (UP/DOWN) state with transition progress. ( Ic269f , b/448152779 ) - ARCore for Jetpack XR now uses the XR Runtime Logging mechanism. See
androidx.xr.runtime.Logfor more information. ( l52735 , b/448697662 )
Изменения в API
-
Geospatial.createPoseFromGeospatialPosenow works on OpenXR-enabled devices. ( l362c6 )
Version 1.0.0-alpha09
3 декабря 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
19 ноября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
Новые функции
-
ARCorefor Jetpack XR now supports devices where Google Play Services for AR is available. - Added Geospatial APIs for VPS Availability and pose conversion ( I144dc )
Version 1.0.0-alpha07
22 октября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
Исправлены ошибки
-
:xr:arcore:arcore-openxradded as an implementation dependency to:xr:arcore:arcore( I47315 , b/446999229 )
Version 1.0.0-alpha06
24 сентября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
Изменения в API
- Testing support for
ARCorehas migrated to thexr:arcore:arcore-testingmodule. ( I25469 ) - Adding
ArDeviceandRenderViewpointto allow applications to retrieve the device's pose and display configuration for rendering purposes. ( Ib7e3f ) - Rename
HandJointTypeenums withHAND_JOINT_TYPE_prefix. ( I3f7cd ) -
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) -
Hand.Statenow exposes ajava.nio.FloatBufferwith the joint poses in a format that allows easy access to performance-oriented applications. ( I55e27 )
Version 1.0.0-alpha05
30 июля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 , and androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits .
Новые функции
- Add
getPrimaryHandSideso the developer could get the hand side info ( I270bd ) - Add geospatial check VPS availability API ( I58573 )
- Add ARCore API for
checkVpsAvailability( Idbded ) -
stateFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( I083aa , b/427247794 )
Изменения в API
- Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - The main ARCore artifact (xr:arcore:arcore) will only contain Kotlin-style async APIs. Java developers can depend on the
xr:arcore:arcore-rxjava3library to access compatible APIs. ( Ia525e , b/422794329 ) - The main ARCore artifact (
xr:scenecore:scenecore) will only contain Kotlin-style async APIs. Java developers can depend on thexr:arcore:arcore-guavalibrary to access compatible APIs. ( Iffcb4 , b/422773524 ) -
Anchor.persistAsync()added toAnchorGuavafor usage by Java developers. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)added toEarthGuavafor usage by Java developers. ( I66357 , b/425992992 ) - Java developers will use the extension functions for
GltfModel.createAsyncinGltfModel.kt. Async functions inGltfModelwill be deleted. ( I0af60 ) - This library now uses JSpecify nullness annotations , which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler) ( Ia8420 , b/326456246 ) -
subscribeAsFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( Id3e49 , b/427277298 )
Version 1.0.0-alpha04
7 мая 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .
Изменения в API
- Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed. ( Idb6b5 )
-
TrackingStateandHandJointTypehave been moved from ARCore to Runtime. -
Hand.State.isActive (boolean)has been changed toHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadreturnsAnchor.AnchorLoadInvalidUuidif the UUID is invalid.
Version 1.0.0-alpha03
26 февраля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha03 is released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
12 февраля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .
Новые функции
- Added hand tracking support. Use
Hand.leftandHand.rightto access the tracking information. - APIs that generate an anchor (
Anchor.create,Anchor.load,Plane.createAnchor) now all returnAnchorCreateResultand properly implementAnchorCreateResourcesExhausted.
Исправлены ошибки
-
Anchor.detachno longer causes a fatal crash due to a race condition with the Session update thread. -
Anchor.createis more stable when running on an emulator
Version 1.0.0-alpha01
12 декабря 2024 г.
androidx.xr.arcore:arcore-* 1.0.0-alpha01 is released.
Features of initial release
Inspired by the existing ARCore library, the ARCore for Jetpack XR library provides capabilities for blending digital content with the real world. This library includes motion tracking, persistent anchors, hit testing, and plane identification with semantic labeling (for example, floor, walls, and tabletops). View the developer guide to learn more about working with ARCore for Jetpack XR.
Session: ARCore for Jetpack XR uses the Jetpack XR Runtime under-the-hood to power its functionality. You will use a Session to interact with most ARCore for Jetpack XR APIs, so please take a look at its documentation.Plane: Use planes to understand the world around you. Each plane has aLabelthat describes it semantically. You can usesubscribeto be notified about the latest detected planes orstateto be notified about the changes to a specific plane.Anchor: A link between a virtual object and a real world location. Anchors can be attached to a specific location in space (usingcreate) or aTrackable(usingcreateAnchor).Anchors can be reused across sessions. You can use
persistto store them,getPersistedAnchorUuidsto enumerate them andloadto retrieve them. Make sure that youunpersistthem once they are no longer in use.Anchors are interoperable between ARCore for Jetpack XR and Jetpack SceneCore. You can create an
AnchorEntityusing an anchor or, if you have an existing AnchorEntity, you can usegetAnchorto retrieve its backing anchor.Offer natural user interactions using
hitTest. A hitTest uses aRayto determine which contents it intersects and to create anAnchorfrom that location. Consider conducting a hitTest from anInputEvent.
Известные проблемы
There might be a delay between calling
unpersistand its UUID being removed from the results returned bygetPersistedAnchorUuids.createwill not validate that the system has enough resources to return new anchors. Creating an excessive amount of anchors might lead to a crash.Persisting an Anchor that was previously persisted and unpersisted is not currently supported.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.
ARCore for Jetpack XR
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 9 сентября 2026 г. | - | 1.0.0-rc01 | - | - |
Объявление зависимостей
To add a dependency on ARCore for Jetpack XR, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for your app or module:
классный
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
Котлин
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
For more information about dependencies, see Add build dependencies .
Обратная связь
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Версия 1.0
Version 1.0.0-rc01
9 сентября 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Version 1.0.0-beta02
12 августа 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
Исправлены ошибки
- Fix concurrency issue in
OpenXRanchor persistence. ( I15c8b ) - Implemented
toString()in more classes for debugging. ( I587e8 )
Version 1.0.0-beta01
15 июля 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
Изменения в API
- Updated resizable modifier to use a
ResizePolicyinstead of two modifiers ( I7fb0f , b/496257436 , b/519672992 ) - Added movable overload with
movePolicyparam and deprecatetransformingMovableandmovable( Ic88c1 , b/481781189 ) - Removed
TrackingState.TRACKING_DEGRADED from public API surface and map runtime degraded states to PAUSED instead. UpdateTrackingStateto use enums instead of int values for string conversion and runtime conversion. ( I3eb5b , b/524326338 ) - Converted Session.create to a suspend function. ( I5d27f )
- Deprecated the
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) - Updated
AnchorEntityto be calledAnchorSpace( Ifa95e , b/513619219 )
Version 1.0.0-alpha15
17 июня 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
Изменения в API
-
HitResult.createAnchorwas removed. Developers can create an anchor representing theHitResultif the trackable of the result is anAnchorableby supplying the hit position to thecreateAnchorfunction of theAnchorable. ( Ia851e ) -
AnchorUnsupportedObjectwas removed. It is no longer thrown by a JXR ARCore runtime. ( Ia851e ) -
androidx.xr.arcore.Anchorandandroidx.xr.arcore.ArDevicenow implementandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.right, andDepth.monoare now non-nullable ( I1fc5e ) -
Face.getUserFaceis now non-nullable ( I0eac1 ) -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoare now non-nullable ( Icf7fa ) -
Hand.leftandHand.rightare non non-nullable ( Icef37 ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
19 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .
Изменения в API
- Deprecating
GeospatialMode.VPS_AND_GPSin favor ofGeospatialMode.SPATIALand introducing a new lower-power tracking mode,GeospatialMode.INERTIAL, which uses only IMU and GPS. ( I1e6cd ) - Custom anchor exception classes:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectExceptionare nowRuntimeExceptioninstances, not intended to be checked. ( I9356e ) - Added
ArCoreTestRuleAPI, includingTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpoint, &TestTrackable( I0ad3c ) - Removes
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocation, andAnchorCreateNotAuthorized. All of these errors are now exceptions in the runtime. RemovesAnchorCreateIllegalState. This has been replaced withAnchorCreateTrackingUnavailablein most cases. AddsAnchorExceptionand derived classesAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectException. ( I4c4dd )
Внешний вклад
- Added
AugmentedImageAPI for custom marker tracking ( I0cf09 )
Version 1.0.0-alpha13
6 мая 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .
Изменения в API
-
TrackingStateandVpsAvailabilityResulthave moved to theandroidx.xr.arcore package, and the types inandroidx.xr.runtimeare now deprecated. ( Ic7930 , b/480462213 ) - Renamed
Plane.TypetoPlaneType. ( I8c90c , b/482675376 ) - Renamed
Hand.HandSidetoHandSide. ( Ica562 , b/482675376 ) - Renamed
Plane.LabeltoPlaneLabel. ( Ic6b67 , b/482675376 ) - Renamed
Geospatial.SurfacetoGeospatialSurface. ( I1a8be , b/482675376 ) - Renamed
Geospatial.StatetoGeospatialState. ( I203fa , b/482675376 ) - Moved
NativeDataAPI toxr:runtime:runtimelibrary. ( I87954 , b/494251500 ) -
Session.createandSession.configureare now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewhas been deprecated. Useandroidx.xr.runtime.math.FieldOfViewinstead. ( Ia01a0 , b/480233045 ) - Changed Orbiter to use either an
OrbiterAnchorPoint + VolumeOffsetor anOrbiterPoseProviderinstead of position, offset, offsetType, alignment, and elevation. Also removed theshouldRenderInNonSpatialparameter. If the developer does not want the orbiter to render in non-spatial they should wrap the orbiter in an if statement and check theSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Added movable modifiers. These modifiers work well, right now, for
SpatialPanelsandSpatialExternalSurface. Very soon they will also be supported forSpatialGltfModels. However, the intention is to have these supported well for allSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Developers are expected to observe the
ArDevice.stateFlow to monitorState.trackingStateand adjust their application's rendering or warnings accordingly based on the tracking fidelity. ( Ic00f0 , b/445466590 ) - Renamed
HandJointTypeenum values. ( Ifbc83 , b/482670596 ) - Renamed
FaceConfidenceRegionconstants. ( Ia62d5 , b/482670596 ) - Renamed
FaceBlendShapeTypeconstants. ( I33b8b , b/482670596 ) - Added
CreatePoseFromGeospatialPoseErrorInternalandCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Deprecated
GroupEntity. To have an Entity with only the base Entity functionality, callEntity.createwhich will return and Entity interface. ( I4c450 , b/473867483 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and useXrLog.Levelto set the log level. ( I76a1f , b/463460895 , b/487378441 )
Исправлены ошибки
- Add the device tracking state support to the openxr devices. ( I91485 , b/445466590 )
Version 1.0.0-alpha12
25 марта 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .
Изменения в API
- Changed
Config.augmentedObjectCategoriesfrom a List to a Set. ( I25a64 , b/487376359 ) - The types
androidx.xr.arcore.Eyeandandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Changes
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITtoFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - Making
TiltGestureAPI experimental as it may be changed or removed in the future. To use this api, opt in to@ExperimentalGesturesApi( Ic9858 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 )
Исправлены ошибки
- Fixed Chrome's build by updating META-INF/services/ file with actual location of
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Version 1.0.0-alpha11
25 февраля 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
Version 1.0.0-alpha10
28 января 2026 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
Новые функции
- Introduces
TiltGestureAPI, providing a reactiveFlowfor stable detection of device tilt (UP/DOWN) state with transition progress. ( Ic269f , b/448152779 ) - ARCore for Jetpack XR now uses the XR Runtime Logging mechanism. See
androidx.xr.runtime.Logfor more information. ( l52735 , b/448697662 )
Изменения в API
-
Geospatial.createPoseFromGeospatialPosenow works on OpenXR-enabled devices. ( l362c6 )
Version 1.0.0-alpha09
3 декабря 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
19 ноября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
Новые функции
-
ARCorefor Jetpack XR now supports devices where Google Play Services for AR is available. - Added Geospatial APIs for VPS Availability and pose conversion ( I144dc )
Version 1.0.0-alpha07
22 октября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
Исправлены ошибки
-
:xr:arcore:arcore-openxradded as an implementation dependency to:xr:arcore:arcore( I47315 , b/446999229 )
Version 1.0.0-alpha06
24 сентября 2025 г.
androidx.xr.arcore:arcore-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
Изменения в API
- Testing support for
ARCorehas migrated to thexr:arcore:arcore-testingmodule. ( I25469 ) - Adding
ArDeviceandRenderViewpointto allow applications to retrieve the device's pose and display configuration for rendering purposes. ( Ib7e3f ) - Rename
HandJointTypeenums withHAND_JOINT_TYPE_prefix. ( I3f7cd ) -
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) -
Hand.Statenow exposes ajava.nio.FloatBufferwith the joint poses in a format that allows easy access to performance-oriented applications. ( I55e27 )
Version 1.0.0-alpha05
30 июля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 , and androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits .
Новые функции
- Add
getPrimaryHandSideso the developer could get the hand side info ( I270bd ) - Add geospatial check VPS availability API ( I58573 )
- Add ARCore API for
checkVpsAvailability( Idbded ) -
stateFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( I083aa , b/427247794 )
Изменения в API
- Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - The main ARCore artifact (xr:arcore:arcore) will only contain Kotlin-style async APIs. Java developers can depend on the
xr:arcore:arcore-rxjava3library to access compatible APIs. ( Ia525e , b/422794329 ) - The main ARCore artifact (
xr:scenecore:scenecore) will only contain Kotlin-style async APIs. Java developers can depend on thexr:arcore:arcore-guavalibrary to access compatible APIs. ( Iffcb4 , b/422773524 ) -
Anchor.persistAsync()added toAnchorGuavafor usage by Java developers. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)added toEarthGuavafor usage by Java developers. ( I66357 , b/425992992 ) - Java developers will use the extension functions for
GltfModel.createAsyncinGltfModel.kt. Async functions inGltfModelwill be deleted. ( I0af60 ) - This library now uses JSpecify nullness annotations , which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler) ( Ia8420 , b/326456246 ) -
subscribeAsFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( Id3e49 , b/427277298 )
Version 1.0.0-alpha04
7 мая 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .
Изменения в API
- Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed. ( Idb6b5 )
-
TrackingStateandHandJointTypehave been moved from ARCore to Runtime. -
Hand.State.isActive (boolean)has been changed toHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadreturnsAnchor.AnchorLoadInvalidUuidif the UUID is invalid.
Version 1.0.0-alpha03
26 февраля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha03 is released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
12 февраля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .
Новые функции
- Added hand tracking support. Use
Hand.leftandHand.rightto access the tracking information. - APIs that generate an anchor (
Anchor.create,Anchor.load,Plane.createAnchor) now all returnAnchorCreateResultand properly implementAnchorCreateResourcesExhausted.
Исправлены ошибки
-
Anchor.detachno longer causes a fatal crash due to a race condition with the Session update thread. -
Anchor.createis more stable when running on an emulator
Version 1.0.0-alpha01
12 декабря 2024 г.
androidx.xr.arcore:arcore-* 1.0.0-alpha01 is released.
Features of initial release
Inspired by the existing ARCore library, the ARCore for Jetpack XR library provides capabilities for blending digital content with the real world. This library includes motion tracking, persistent anchors, hit testing, and plane identification with semantic labeling (for example, floor, walls, and tabletops). View the developer guide to learn more about working with ARCore for Jetpack XR.
Session: ARCore for Jetpack XR uses the Jetpack XR Runtime under-the-hood to power its functionality. You will use a Session to interact with most ARCore for Jetpack XR APIs, so please take a look at its documentation.Plane: Use planes to understand the world around you. Each plane has aLabelthat describes it semantically. You can usesubscribeto be notified about the latest detected planes orstateto be notified about the changes to a specific plane.Anchor: A link between a virtual object and a real world location. Anchors can be attached to a specific location in space (usingcreate) or aTrackable(usingcreateAnchor).Anchors can be reused across sessions. You can use
persistto store them,getPersistedAnchorUuidsto enumerate them andloadto retrieve them. Make sure that youunpersistthem once they are no longer in use.Anchors are interoperable between ARCore for Jetpack XR and Jetpack SceneCore. You can create an
AnchorEntityusing an anchor or, if you have an existing AnchorEntity, you can usegetAnchorto retrieve its backing anchor.Offer natural user interactions using
hitTest. A hitTest uses aRayto determine which contents it intersects and to create anAnchorfrom that location. Consider conducting a hitTest from anInputEvent.
Известные проблемы
There might be a delay between calling
unpersistand its UUID being removed from the results returned bygetPersistedAnchorUuids.createwill not validate that the system has enough resources to return new anchors. Creating an excessive amount of anchors might lead to a crash.Persisting an Anchor that was previously persisted and unpersisted is not currently supported.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.