ARCore для Jetpack XR
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 22 октября 2025 г. | - | - | - | 1.0.0-альфа07 |
Объявление зависимостей
Чтобы добавить зависимость от ARCore для Jetpack XR, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
Круто
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha07" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07" }
Котлин
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha07") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha07") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.0
Версия 1.0.0-альфа07
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-альфа06
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:arcore:arcoreизxr:runtime:runtime. ( Iadb9c , b/409058039 ) -
Hand.Stateтеперь предоставляетjava.nio.FloatBufferс положениями суставов в формате, который обеспечивает простой доступ к приложениям, ориентированным на производительность. ( I55e27 )
Версия 1.0.0-альфа05
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 ) - Функции расширения
stateFlowableдобавлены в:xr:arcore:arcore-rxjava3для использования разработчиками Java. ( I083aa , b/427247794 )
Изменения API
- Конфигурация
*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 ) -
Anchor.persistAsync()добавлен вAnchorGuavaдля использования разработчиками 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 ). - Функции расширения
subscribeAsFlowableдобавлены в:xr:arcore:arcore-rxjava3для использования разработчиками Java. ( Id3e49 , b/427277298 )
Версия 1.0.0-альфа04
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-альфа03
26 февраля 2025 г.
androidx.xr.arcore:arcore:1.0.0-alpha03 выпущен без каких-либо заметных изменений с момента последней альфа-версии. Версия 1.0.0-alpha03 содержит следующие коммиты .
Версия 1.0.0-альфа02
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-альфа01
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.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-10-22 UTC.