Среда выполнения XR
| Последнее обновление | Основная версия | Release Candidate | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 7 октября 2026 г. | - | 1.0.0-rc02 | - | 1.1.0-alpha01 |
Как объявлять зависимости
Чтобы добавить зависимость от среды выполнения XR, необходимо добавить в проект хранилище Google Maven. Подробная информация приведена в репозитории Google Maven.
Добавьте в файл build.gradle приложения или модуля зависимости для нужных артефактов:
Яркий
dependencies { implementation "androidx.xr.runtime:runtime:1.1.0-alpha01" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.1.0-alpha01") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.1.0-alpha01") }
Подробнее о зависимостях приведено в статье Добавление зависимостей сборки.
Отзыв
Ваши отзывы помогают нам улучшать Jetpack. Если вы обнаружите проблемы или решите что-то предложить, отправьте отзыв. Прежде чем создавать новую проблему, ознакомьтесь с существующими. Вы можете добавить свой голос к существующей проблеме, нажав на значок звездочки.
Дополнительную информацию можно найти в документации по системе отслеживания ошибок.
Runtime
Версия 1.0
Версия 1.0.0-rc02
7 октября 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-rc02. Версия 1.0.0-rc02 содержит эти коммиты.
Исправление ошибок
- Исправлены различные проблемы в
androidx.xr.runtimeиandroidx.xr.scenecore, чтобы повысить безопасность памяти и улучшить управление жизненным циклом ресурсов. В частности, мы улучшили обработку контекста и логику очистки ссылок, чтобы предотвратить утечки памяти. (Id61f8)
Версия 1.1
Версия 1.1.0-alpha01
9 сентября 2026 г.
Выход androidx.xr.runtime:runtime-*:1.1.0-alpha01. Версия 1.1.0-alpha01 содержит эти коммиты.
Изменения в API
- Добавьте SPATIAL_API_V4 в
SpatialApiVersions(I71e7a).
Версия 1.0
Версия 1.0.0-rc01
9 сентября 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-rc01. Версия 1.0.0-rc01 содержит эти коммиты.
Изменения в поведении
Версия 1.0.0-beta02
12 августа 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-beta02. Версия 1.0.0-beta02 содержит эти коммиты.
Исправление ошибок
- Улучшено обнаружение поддержки
OpenXRв эмулируемых средах. (Ifec51) - В большем количестве классов реализован контейнер
toString()для отладки. (I67d83) - Исправлена ошибка, из-за которой
XrDeviceTestRuleне работал, еслиXrDeviceбыл создан после применения настроек. (Ica32c)
Версия 1.0.0-beta01
15 июля 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-beta01. Версия 1.0.0-beta01 содержит эти коммиты.
Изменения в API
- В тестирование во время выполнения добавлена функция
SessionTestRule. Этот API (I672bc, b/516876144) - Функция Session.create преобразована в функцию suspend. (I5d27f)
- Добавлена поддержка атрибута "жизненный цикл"
XrDeviceTestRule(I2319c, b/512140272) - Удалена неиспользуемая аннотация
ExperimentalXrDeviceLifecycleApiдля экспериментального включения. (I46d95) - Добавлены специализированные переопределения
toString()для нескольких типов времени выполнения. Эти типы предназначены для предоставления разработчикам дополнительной информации в целях отладки и не должны использоваться в рабочих или выпущенных приложениях.
Исправление ошибок
- Исправлена поза.
fromLookAtВыровнено направление вперед, исправлено извлечение масштаба в Matrix3 и предотвращено численноеNaNsпри нормализации, преобразовании оси и угла и расчетахangleBetween. (I7a3b5, b/367780918)
Версия 1.0.0-alpha15
17 июня 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha15. Версия 1.0.0-alpha15 содержит эти коммиты.
Изменения в API
- Добавлен тестовый API для
isProjectedServiceAvailable()(I44ba1) DeviceTrackingMode.INERTIALтеперь доступен как общедоступный экспериментальный API с новой аннотацией@ExperimentalInertialTrackingApi. (Ic3df3)- Добавлен
Config.Builder. Приложения могут создавать собственные конфигурации, вызывая функции сеттера в объекте сборщика, а затем вызываяBuilder.build. (I13142) - Ресурс
androidx.xr.runtime.FieldOfViewуже удален. Вместо него приложения должны использоватьandroidx.xr.runtime.math.FieldOfView. (I621ef) - Теперь
Session.createможно запускать только на@WorkerThread. (I2169e) - Добавлен объект "
isProjectedServiceAvailable()" вXrDevice(I507e9). - Переименование
DeviceTrackingMode.SPATIAL_LAST_KNOWNвDeviceTrackingMode.SPATIALиDeviceTrackingMode.INERTIAL_LAST_KNOWNвDeviceTrackingMode.INERTIAL(I96f8b) Vector3.angleBetweenиVector4.angleBetweenтеперь возвращают градусы, а не радианы. (Ica8bc)- Добавлен API
QrCode(Ia0bbe).
Версия 1.0.0-alpha14
19 мая 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha14. Версия 1.0.0-alpha14 содержит эти коммиты.
Изменения в API
- Мы отказываемся от использования
GeospatialMode.VPS_AND_GPSв пользуGeospatialMode.SPATIALи добавляем новый режим отслеживания с низким энергопотреблением –GeospatialMode.INERTIAL, в котором используются только IMU и GPS. (I1e6cd) - Удаляет тег устаревания на странице
androidx.xr.runtime.FieldOfView. Делаетandroidx.xr.runtime.math.FieldOfViewпсевдонимом типаandroidx.xr.runtime.FieldOfViewв рамках подготовки к удалению последнего в следующем выпуске. Клиенты должны перейти на версиюandroidx.xr.runtime.mathвезде, где используется версияandroidx.xr.runtime. (I6ce15) - Добавлена аннотация
PreviewProjectedApi(Ic49f6) - Удалено:
AugmentedObjectCategory.allSupported(I08656) - Добавлены API в
XrDeviceдля определения поддержки устройством отслеживания рук, отслеживания взгляда, оценки глубины, геопространственных данных и рендеринга. (I00696) - Функция
Session.getNativeDataзаменена наXrDevice.getNativeInstanceDataиSession.getNativeSessionData. (Ieb077) - Добавлены аннотации
DeviceTrackingMode.INERTIAL_LAST_KNOWNс помощью@PreviewSpatialApi. (I99868) - Добавлен
XrDeviceTestRuleдля использования в модульных тестах. (I87584) - Добавление
CATEGORY_XR_PROJECTED_LAUNCHER. Эта константа используется в файле манифеста, чтобы указать, что система должна обнаружить действие как средство запуска. (Ia3069)
Внешний вклад
- Добавление
AugmentedImageModeв APIConfig(I0cf09)
Версия 1.0.0-alpha13
6 мая 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha13. Версия 1.0.0-alpha13 содержит эти коммиты.
Изменения в API
TrackingStateиVpsAvailabilityResultбыли перенесены вandroidx.xr.arcore package, а типы вandroidx.xr.runtimeтеперь считаются устаревшими. (Ic7930, b/480462213)Session.getNativeData()теперь определяется в модулеxr:runtime:runtimeи предоставляет [nativeFunctionTablePointer] для сред выполнения с поддержкой OpenXR. (Ifa862)- 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) - Сервисный аккаунт
Matrix4.poseпереименован. Новое название:Matrix4.toPose(). Свойство pose больше не поддерживается. (I329b4, b/493383490) - Добавлен API
XrServiceAvailability(If379e, b/493558010). - Добавлена аннотация
ExperimentalXrServiceAvailabilityApi(Icab49, b/491069725) - Удалите суффикс для
@PreviewSpatialApi(If5242, b/491939311) - Переименован параметр
DeviceTrackingMode.LAST_KNOWNвSPATIAL_LAST_KNOWN(с устаревшим резервным значением), добавлен параметрINERTIAL_LAST_KNOWNдля отслеживания 3DoF и параметрTRACKING_DEGRADEDвTrackingState. (Ie661c, b/445466590) - Добавлен API
XrLog. Установите дляXrLog.isEnabledзначениеtrue, чтобы включить ведение журнала в JetpackXR, и используйте [XrLog.Level], чтобы задать уровень журнала. (I76a1f, b/463460895, b/487378441) - Добавление
DISPLAY_CATEGORY_XR_PROJECTED. Эта константа используется в файле манифеста, чтобы указать, что действие предназначено для проецируемого дисплея XR (I26d8b).
Версия 1.0.0-alpha12
25 марта 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha12. Версия 1.0.0-alpha12 содержит эти коммиты.
Изменения в API
- Изменен тип
Config.augmentedObjectCategoriesс List на Set (I25a64, b/487376359) - Флажок "
unscaledGravityAlignedActivitySpace" удален изSession.create.ActivitySpaceтеперь всегда не масштабируется и выравнивается по гравитации. (If6f11, b/458173423) - Добавлена перегрузка
Session.create, позволяющая передавать контекст Android для определения области действия ресурса. (I7d3fe, b/415805990, b/477386334) - Добавлено
JvmOverloadsвFloatSize2d.to3d,Matrix3.copyиMatrix4.copy(I69586, b/481371562) - Добавлена возможность задавать категории для отслеживания
AugmentedObjectв конфигурации (I1f6e4, b/480220930). - Добавлен модуль
xr:runtime:runtime-interfaces. (I52ac6, b/461561664)
Версия 1.0.0-alpha11
25 февраля 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha11. Версия 1.0.0-alpha11 содержит эти коммиты.
Изменения в API
- Ограниченный интерфейс
ConfigModeдля внутреннего использования (Ibfb87) - Объект "
androidx.xr.runtime.Config.GeospatialMode" перемещен на уровень пакета (Ibe682) - Объект "
androidx.xr.runtime.Config.FaceTrackingMode" перемещен на уровень пакета (Iac501) - Файл "
androidx.xr.runtime.Config.AnchorPersistenceMode" перемещен на уровень пакета (I0360f) - Перемещено
androidx.xr.runtime.Config.DepthEstimationModeна уровень пакета (I7e3e9) - Объект "
androidx.xr.runtime.Config.DeviceTrackingMode" перемещен на уровень пакета (I3aacd) - Файл "
androidx.xr.runtime.Config.HandTrackingMode" перемещен на уровень пакета (I658f3) - Объект "
androidx.xr.runtime.Config.PlaneTrackingMode" перемещен на уровень пакета (Ia251b) - Файл "
androidx.xr.runtime.XrDevice.DisplayBlendMode" перемещен на уровень пакета (I6f333) - Добавлен метод-фабрика для создания
XrDeviceс использованием контекста, сеанса иCoroutineContext. (I139c5) - Добавлен тег
SpatialApiVersionHelper, который позволяет запрашивать версию среды выполнения Android XR, доступную на платформе. (I7c53c) - Добавлен модуль
xr:runtime:runtime-openxr(Ib42ea)
Версия 1.0.0-alpha10
28 января 2026 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha10. Версия 1.0.0-alpha10 содержит эти коммиты.
Изменения в API
- Значение
ConfigMode.HeadTrackingModeзаменено наConfigMode.DeviceTrackingMode. (le273e, b/467150206) - Удалены методы
toNormalized,times(float)иdiv(float)класса Quaternion. Эти методы избыточны, поскольку все кватернионы нормализуются во время создания и класс является неизменяемым. (l558fc, b/460210457)
Исправление ошибок
- В документацию по
Session.createдобавлены сведения о том, как избежать создания сеанса в основном потоке приложения. (le5554, b/463687170) - Приложения не могут создавать
BoundingBoxсо значениемNaN. (l58c14, b/464025895)
Версия 1.0.0-alpha09
3 декабря 2025 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha09. Версия 1.0.0-alpha09 содержит эти коммиты.
Версия 1.0.0-alpha08
19 ноября 2025 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha08. Версия 1.0.0-alpha08 содержит эти коммиты.
Новые функции
- Добавлен значок
XrDevice, который указывает на возможности устройства. (Ic9d1f) - Добавлен новый API
ConfigMode.isSupportedдля запросов о возможностях сеанса. (Iff7af) - Добавлен API
XrDisplay.BlendMode. (I484e4)
Изменения в API
- Функция [XrDevice.getPreferredBlendMode] переименована в [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
Версия 1.0.0-alpha07
22 октября 2025 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha07. Версия 1.0.0-alpha07 содержит эти коммиты.
Изменения в API
- Удалите
SessionConfigureConfigureNotSupportedи замените его наUnsupportedOperationException. (I7680f)
Версия 1.0.0-alpha06
24 сентября 2025 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha06. Версия 1.0.0-alpha06 содержит эти коммиты.
Изменения в API
HandJointTypeбыл перемещен изxr:runtime:runtimeвxr:arcore:arcore. (Iadb9c, b/409058039)- Изменение оператора умножения для
componentWiseMultiplicationнаVector2,Vector3,Vector4для масштабирования и удаление символа оператора для согласованности с другими математическими библиотеками. Также удалениеcomponentWiseDivisionиз классов Vector вместо использованияVector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - Добавление [unscaled] для возврата матрицы с масштабом 1. (I6381d, b/434928658)
:xr:runtime:runtime-guavaбудет удален, так какCoroutines.ktзаменен наSuspendtoFutureAdapter. (I0cd3c, b/406597902)
Версия 1.0.0-alpha05
30 июля 2025 г.
Выход androidx.xr.runtime:runtime-*:1.0.0-alpha05. Версия 1.0.0-alpha05 содержит эти коммиты.
Новые функции
- Добавьте
HandJointTypeиTrackingState. (I55880, b/334645808) - Сделайте реализацию Config общедоступной. (I95860, b/334645808)
- Добавлены новые типы
SessionCreateResultиSessionConfigureResult. (Icb8cb, b/334645808) - Добавлен новый класс
BoundingBox, представляющий собой граничную рамку, ориентированную по осям, в трехмерном пространстве, которая определяется минимальными и максимальными координатами угловых точек. (Ic68c5, b/423073468)
Изменения в API
- Файл "
androidx.xr.scenecore.PixelDimensions" переименован и перемещен в папку "androidx.xr.runtime.math.IntSize2d". Файл "androidx.xr.scenecore.Dimensions" переименован и перемещен в папку "androidx.xr.runtime.math.FloatSize3d". Название "androidx.xr.scenecore.PlaneType" изменено на "androidx.xr.scenecore.PlaneOrientation". Название "androidx.xr.scenecore.PlaneSemantic" изменено на "androidx.xr.scenecore.PlaneSemanticType". (Ifd405, b/416456228) - Удален класс
androidx.xr.runtime.FoV. Используйте вместо негоandroidx.xr.runtime.FieldOfView. (I9ae27) - Добавлена дополнительная перегрузка для
Session.create, которая может предоставитьLifecycleOwnerдля сеанса. Обратите внимание, что для подтверждения права собственности на ресурс необходимо указать действие, а свойствоLifecycleOwnerдолжно быть ограничено этим действием. (I1690b) - Переименован параметр
FakeRuntimeAnchor.anchorsCreatedвanchorsCreatedCount(I96df9, b/424441218) - Значения конфигурации
*Modeбыли переименованы, чтобы лучше отражать их поведение. (I6d247, b/414648065) - Для проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздней версии (Idb6b5, b/344563182).
- API, связанные со строками манифеста, были перенесены из
:xr:runtime:runtimeв:xr:runtime:runtime-manifest. Название пакета изменено сandroidx.xr.runtimeнаandroidx.xr.runtime.manifest. (I610ad, b/418800249) Session.resume(),Session.pause()иSession.destroy()удалены из API. Сеанс больше неLifecycleOwner. Жизненный цикл сеанса теперь будет связан с жизненным циклом объекта Activity, переданного вSession.create(). (I28a03)- Теперь в этой библиотеке используются аннотации JSpecify для проверки на наличие нулевых значений, которые применяются к типам. Разработчикам на Kotlin следует использовать следующий аргумент компилятора, чтобы обеспечить правильное использование:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin) (Ia8420, b/326456246). - Основной артефакт среды выполнения (
:xr:runtime:runtime) будет содержать только асинхронные API в стиле Kotlin. Разработчики на Java могут использовать:xr:runtime:runtime-guavaдля доступа к совместимым API. (I05d4a, b/426639315) - Основной артефакт среды выполнения (
:xr:runtime:runtime) будет содержать только асинхронные API в стиле Kotlin. Разработчики на Java могут использовать библиотекуxr:runtime:runtime-rxjava3для доступа к совместимым API. (I64122, b/426639775) - Перенесите корутины в
:xr:runtime:runtime-guava, а потоки – в:xr:runtime:runtime-rxjava3. (I60ae9) - Теперь при отсутствии достаточных разрешений функции
Session.createиSession.configureвызывают исключениеSecurityException, а не возвращаютSessionCreatePermissionsNotGrantedилиSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
Версия 1.0.0-alpha04
7 мая 2025 г.
androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 и androidx.xr.runtime:runtime-testing:1.0.0-alpha04. Версия 1.0.0-alpha04 содержит эти коммиты.
Новые функции
- Теперь в Session реализован интерфейс
androidx.lifecycle.LifecycleOwner, что обеспечивает более высокую совместимость с существующими парадигмами жизненного цикла Android. - Строки манифеста для Android XR описаны в этой статье.
- Добавлены методы расширения Spatial Visibility Callback, позволяющие отслеживать, когда контент сцены перемещается в зону обзора пользователя или за ее пределы.
- Добавлена заглушка для
JxrPlatformAdapter(и всех связанных с ним классов). - В
SceneCoreи Runtime будет использоваться сеанс, а не сеанс вSceneCore. - Добавлен тег
ActivityPose.hitTest, который позволяет использоватьhitTestдля виртуального контента. - Теперь можно указывать несколько реализаций Runtime во время компиляции. Во время выполнения будет загружен только один из них в зависимости от набора функций устройства.
- Добавлен новый тип компонента
SpatialPointerComponent, позволяющий клиентам указывать значок, который будет отображаться для указателя, или отключать значок. В настоящее время этот компонент можно прикрепить только кPanelEntityэкземплярам.
Изменения в API
- Сделайте реализацию Config общедоступной. (I95860)
- Добавьте
HandJointTypeиTrackingState. (I55880) - Для проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздней версии (Idb6b5).
- Значение "
Hand.isActive (boolean)" изменено на "Hand.trackingState". РеализацияOpenXRбыла изменена соответствующим образом. - Требование разрешения
android.permission.SCENE_UNDERSTANDINGвSession.configureбыло изменено наandroid.permission.SCENE_UNDERSTANDING_COARSE. LifecycleManager.configureреализован и теперь передает объектConfig, который содержит свойство для каждой настраиваемой функции времени выполнения.- Теперь функцию
Session.configureможно вызывать с параметромConfig, чтобы настроить доступные функции времени выполнения. - Теперь в
Session.createможно передаватьCoroutineContextвместоCoroutineDispatcher. Session.createподдерживает загрузкуARCoreдля Jetpack XR и/илиSceneCore. Необходимо указать хотя бы один из них (доступны тестовые версии).FakePerceptionManagerвыдает ошибкуAnchorInvalidUuidException, если вAnchor.loadиAnchor.unpersistпередается недействительный UUID.CoreStateбольше не является классом данных.
Исправление ошибок
- Исправлены конфигурации proguard для времени выполнения.
Версия 1.0.0-alpha03
26 февраля 2025 г.
Версии androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 и androidx.xr.runtime:runtime-testing:1.0.0-alpha03 выпущены без значительных изменений по сравнению с последней альфа-версией. Версия 1.0.0-alpha03 содержит эти коммиты.
Версия 1.0.0-alpha02
12 февраля 2025 г.
androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 и androidx.xr.runtime:runtime-testing:1.0.0-alpha02. Версия 1.0.0-alpha02 содержит эти коммиты.
Критические и поведенческие изменения
- Функции времени выполнения
OpenXR, возвращающие якорь, теперь вызывают исключениеAnchorResourcesExhaustedException, если обнаруживают код ошибки, указывающий на достижение лимита ресурсовOpenXR. - Для
Session.createиSession.resumeтеперь требуется разрешениеandroid.permission.HAND_TRACKING.
Новые функции
- Добавлена поддержка отслеживания рук.
Исправление ошибок
- Создание якорей более стабильно при использовании эмулятора.
Версия 1.0.0-alpha01
12 декабря 2024 г.
Выход androidx.xr.runtime:runtime-* 1.0.0-alpha01.
Функции первоначальной версии
Первый выпуск Jetpack XR Runtime. Эта библиотека содержит основные функции для набора библиотек Jetpack XR. включая обнаружение возможностей, управление жизненным циклом, настройку и многое другое. Библиотека времени выполнения предоставляет разные варианты (например, runtime-openxr или runtime-testing) в зависимости от платформы выполнения. Кроме того, эта библиотека предлагает базовые математические абстракции, такие как Vector3 и Matrix4, которые используются во всем API Jetpack XR.
Sessionпозволяет точно настраивать систему XR, в том числе определять, когда обработка выполняется, а когда нет, и задавать общую конфигурацию. Этот дескриптор также используется во всех других API для доступа к базовым возможностям системы.Pose: местоположение в произвольной системе координат, связанное с позицией и ориентацией. Этот класс используется для передачи информации о местоположении объектов в ARCore для Jetpack XR и Jetpack SceneCore.
Известные проблемы
- В настоящее время параметр
configureне выполняет никаких действий. В будущих версиях будут добавлены новые настройки, которые можно использовать для управления поведениемSession.