XR Runtime

Начните свою пользовательскую сессию дополненной реальности или 3D-графики с помощью нашей собственной среды выполнения.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
9 сентября 2026 г. - 1.0.0-rc01 - 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"
}

Котлин

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. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Версия 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 содержит следующие коммиты .

Изменения в поведении

  • Улучшена обработка внутренних событий жизненного цикла. ( I2f7b8 , If1bc3 , Ifa75e )

Версия 1.0.0-beta02

12 августа 2026 г.

Выпущена версия androidx.xr.runtime:runtime-*:1.0.0-beta02 . Версия 1.0.0-beta02 содержит следующие коммиты .

Исправлены ошибки

  • Улучшено определение поддержки OpenXR в эмулируемых средах. ( Ifec51 )
  • Для отладки реализована toString() в большем количестве классов. ( I67d83 )
  • Fix XrDeviceTestRule to work when XrDevice is created after applying settings. ( Ica32c )

Версия 1.0.0-beta01

15 июля 2026 г.

Выпущена версия androidx.xr.runtime:runtime-*:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .

Изменения в API

  • Добавлено SessionTestRule в runtime-testing. Этот API ( I672bc , b/516876144 )
  • Функция Session.create преобразована в функцию приостановки. ( 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 )
  • Доступен экспериментальный API-интерфейс DeviceTrackingMode.INERTIAL , распространяемый под новой аннотацией @ExperimentalInertialTrackingApi . ( Ic3df3 )
  • Added Config.Builder . Apps can create custom configurations by calling setter functions on the builder object and then calling 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 )
  • Added the PreviewProjectedApi annotation ( Ic49f6 )
  • Удалён AugmentedObjectCategory.allSupported ( I08656 )
  • Добавление API в XrDevice для определения поддержки устройством отслеживания движений рук, отслеживания взгляда, оценки глубины, геопространственных данных и рендеринга. ( I00696 )
  • Session.getNativeData был заменен на XrDevice.getNativeInstanceData и Session.getNativeSessionData . ( Ieb077 )
  • Аннотированный DeviceTrackingMode.INERTIAL_LAST_KNOWN с аннотацией @PreviewSpatialApi . ( I99868 )
  • Добавлено правило XrDeviceTestRule для использования в модульных тестах. ( I87584 )
  • Adding CATEGORY_XR_PROJECTED_LAUNCHER , this constant is used in the Manifest file to indicate the activity should be discovered as a launcher by the system. ( Ia3069 )

Внешний вклад

  • Добавить AugmentedImageMode в Config API ( 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 and Session.configure are 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 )
  • Matrix4.pose has been renamed to Matrix4.toPose() . The pose property is now deprecated. ( 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 для отслеживания 3 степеней свободы и добавлено TRACKING_DEGRADED в TrackingState . ( Ie661c , b/445466590 )
  • Added XrLog API. Set XrLog.isEnabled to true to enable logging in JetpackXR, and use [ XrLog.Level ] to set the log level. ( I76a1f , b/463460895 , b/487378441 )
  • Adding DISPLAY_CATEGORY_XR_PROJECTED , this constant is used in the Manifest file to indicate the activity is meant for a XR projected display ( I26d8b )

Версия 1.0.0-alpha12

25 марта 2026 г.

Выпущена версия androidx.xr.runtime:runtime-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .

Изменения в API

  • Изменено значение Config.augmentedObjectCategories со списка на множество ( 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 )
  • Added ability to set categories for AugmentedObject tracking in the Config ( I1f6e4 , b/480220930 )
  • Added xr:runtime:runtime-interfaces module. ( I52ac6 , b/461561664 )

Версия 1.0.0-alpha11

25 февраля 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .

Изменения в API

  • Restricted ConfigMode interface to internal use ( Ibfb87 )
  • Moved androidx.xr.runtime.Config.GeospatialMode to package level ( Ibe682 )
  • Moved androidx.xr.runtime.Config.FaceTrackingMode to package level ( Iac501 )
  • Moved androidx.xr.runtime.Config.AnchorPersistenceMode to package level ( I0360f )
  • Moved androidx.xr.runtime.Config.DepthEstimationMode to package level ( I7e3e9 )
  • Moved androidx.xr.runtime.Config.DeviceTrackingMode to package level ( I3aacd )
  • Moved androidx.xr.runtime.Config.HandTrackingMode to package level ( I658f3 )
  • Moved androidx.xr.runtime.Config.PlaneTrackingMode to package level ( Ia251b )
  • Moved androidx.xr.runtime.XrDevice.DisplayBlendMode to package level ( I6f333 )
  • Added a factory method to create an XrDevice using a Context, Session and a 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 is released. Version 1.0.0-alpha10 contains these commits .

Изменения в API

  • ConfigMode.HeadTrackingMode is replaced with ConfigMode.DeviceTrackingMode . ( le273e , b/467150206 )
  • Удалены методы toNormalized , times(float) и div(float) класса Quaternion. Эти методы избыточны, поскольку все кватернионы нормализуются во время создания объекта, а также учитывая неизменяемость класса. ( l558fc , b/460210457 )

Исправлены ошибки

  • Добавлена ​​документация к Session.create , иллюстрирующая, как избежать создания сессии в основном потоке приложения. ( le5554 , b/463687170 )
  • Prevented applications from creating a BoundingBox with a NaN value. ( l58c14 , b/464025895 )

Версия 1.0.0-alpha09

3 декабря 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .

Версия 1.0.0-alpha08

19 ноября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .

Новые функции

  • Добавлено XrDevice для предоставления информации о возможностях устройства. ( Ic9d1f )
  • Added new ConfigMode.isSupported API for querying session capabilities. ( Iff7af )
  • Добавлен API XrDisplay.BlendMode . ( I484e4 )

Изменения в API

  • Renamed [XrDevice.getPreferredBlendMode] to [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 is released. Version 1.0.0-alpha06 contains these commits .

Изменения в API

  • HandJointType перемещен из xr: xr:runtime:runtime xr:arcore:arcore . ( Iadb9c , b/409058039 )
  • Изменение оператора умножения для componentWiseMultiplication в Vector2 , Vector3 , Vector4 на scale и удаление символа оператора для согласованности с другими математическими библиотеками. Также удаление componentWiseDivision из классов Vector вместо использования Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Adding [unscaled] to return a Matrix with a scale of one. ( 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 is released. Version 1.0.0-alpha05 contains these commits .

Новые функции

  • Добавить 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 для привязки сессии. Обратите внимание, что для управления ресурсами по-прежнему необходимо указывать Activity, а область действия LifecycleOwner должна быть ограничена Activity. ( I1690b )
  • Переименована FakeRuntimeAnchor.anchorsCreated в anchorsCreatedCount ( I96df9 , b/424441218 )
  • Значения параметров Config *Mode были переименованы в соответствии с их поведением. ( I6d247 , b/414648065 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( 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. Session больше не является LifecycleOwner . Жизненный цикл Session теперь будет привязан к жизненному циклу Activity, переданной в Session.create() . ( I28a03 )
  • В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin) ( Ia8420 , b/326456246 )
  • Основной артефакт среды выполнения ( :xr:runtime:runtime ) будет содержать только асинхронные API в стиле Kolin. 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 будет использоваться значение Session вместо значения Session из SceneCore .
  • Добавлена ​​функция ActivityPose.hitTest , позволяющая проводить hitTest по виртуальному контенту.
  • Теперь поддерживается указание нескольких реализаций среды выполнения на этапе компиляции. В процессе выполнения будет загружена только одна из них, исходя из текущего набора функций устройства.
  • Добавлен новый тип компонента 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 , возвращающие объект Anchor, генерируют исключение 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 предоставляет различные варианты (например, runtime-openxr или runtime-testing ) в зависимости от платформы выполнения. Кроме того, эта библиотека предлагает основные математические абстракции, такие как Vector3 и Matrix4 , которые используются во всей поверхности API Jetpack XR.

  • Session : Предоставляет вам детальный контроль над системой XR, включая определение того, когда выполняется обработка, а когда нет, и общую конфигурацию. Это также идентификатор, который вы будете использовать во всех других API для разблокировки базовых возможностей системы.

  • Pose : Местоположение в произвольной системе координат, которому присвоены позиция и ориентация. Вы будете использовать этот класс для передачи местоположения объектов в ARCore для Jetpack XR и Jetpack SceneCore.

Известные проблемы

  • В настоящее время configure ничего не делает. В будущих версиях будут добавлены новые параметры, которые позволят управлять поведением Session .
,

XR Runtime

Начните свою пользовательскую сессию дополненной реальности или 3D-графики с помощью нашей собственной среды выполнения.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
9 сентября 2026 г. - 1.0.0-rc01 - 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"
}

Котлин

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. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.

Создать новую задачу

Для получения более подробной информации см. документацию по системе отслеживания ошибок .

Версия 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 содержит следующие коммиты .

Изменения в поведении

  • Улучшена обработка внутренних событий жизненного цикла. ( I2f7b8 , If1bc3 , Ifa75e )

Версия 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 в runtime-testing. Этот API ( I672bc , b/516876144 )
  • Функция Session.create преобразована в функцию приостановки. ( 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 )
  • Доступен экспериментальный API-интерфейс DeviceTrackingMode.INERTIAL , распространяемый под новой аннотацией @ExperimentalInertialTrackingApi . ( Ic3df3 )
  • Добавлен Config.Builder . Приложения могут создавать пользовательские конфигурации, вызывая функции-сеттеры для объекта 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 используется в файле Manifest для указания того, что активность должна быть обнаружена системой как средство запуска. ( Ia3069 )

Внешний вклад

  • Добавить AugmentedImageMode в Config API ( 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 для отслеживания 3 степеней свободы и добавлено TRACKING_DEGRADED в TrackingState . ( Ie661c , b/445466590 )
  • Добавлен API XrLog . Установите XrLog.isEnabled в true , чтобы включить логирование в JetpackXR, и используйте [ XrLog.Level ] для установки уровня логирования. ( I76a1f , b/463460895 , b/487378441 )
  • Добавление константы DISPLAY_CATEGORY_XR_PROJECTED используется в файле Manifest для указания того, что действие предназначено для проецируемого XR-дисплея ( I26d8b ).

Версия 1.0.0-alpha12

25 марта 2026 г.

Выпущена версия androidx.xr.runtime:runtime-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит следующие коммиты .

Изменения в API

  • Изменено значение Config.augmentedObjectCategories со списка на множество ( 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 с использованием Context, Session и 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: xr:runtime:runtime xr:arcore:arcore . ( Iadb9c , b/409058039 )
  • Изменение оператора умножения для componentWiseMultiplication в Vector2 , Vector3 , Vector4 на scale и удаление символа оператора для согласованности с другими математическими библиотеками. Также удаление componentWiseDivision из классов Vector вместо использования Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Добавление [unscaled] позволяет получить матрицу с масштабом, равным единице. ( 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 для привязки сессии. Обратите внимание, что для управления ресурсами по-прежнему необходимо указывать Activity, а область действия LifecycleOwner должна быть ограничена Activity. ( I1690b )
  • Переименована FakeRuntimeAnchor.anchorsCreated в anchorsCreatedCount ( I96df9 , b/424441218 )
  • Значения параметров Config *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. Session больше не является LifecycleOwner . Жизненный цикл Session теперь будет привязан к жизненному циклу Activity, переданной в Session.create() . ( I28a03 )
  • 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 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kolin-style async APIs. Java developers can depend on :xr:runtime:runtime-guava to access compatible APIs. ( I05d4a , b/426639315 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kotlin-style async APIs. Java developers can depend on the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( I7c488 , b/430651879 )

Version 1.0.0-alpha04

7 мая 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .

Новые функции

  • Session now implements androidx.lifecycle.LifecycleOwner for more interoperability with existing Android lifecycle paradigms.
  • Manifest strings for Android XR are specified and documented here.
  • Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
  • Added a stub version of the JxrPlatformAdapter (and all its related classes).
  • Session will be used in both SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against virtual content.
  • Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
  • Added new Component type SpatialPointerComponent , allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached to PanelEntity instances only.

Изменения в API

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is no longer a data class.

Исправлены ошибки

  • Fixed Runtime proguard configurations.

Version 1.0.0-alpha03

26 февраля 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are 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.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .

Breaking & behavioral changes

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.resume .

Новые функции

  • Added hand tracking support.

Исправлены ошибки

  • Creating anchors is more stable when running on an emulator

Version 1.0.0-alpha01

12 декабря 2024 г.

androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.

Features of Initial Release

Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.

  • Session : Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.

  • Pose : A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.

Известные проблемы

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .
,

XR Runtime

Start your custom AR or 3D session with our native runtime.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
9 сентября 2026 г. - 1.0.0-rc01 - 1.1.0-alpha01

Объявление зависимостей

To add a dependency on XR runtime, 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.runtime:runtime:1.1.0-alpha01"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.1.0-alpha01"
}

Котлин

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")
}

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.1

Version 1.1.0-alpha01

9 сентября 2026 г.

androidx.xr.runtime:runtime-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits .

Изменения в API

  • Add SPATIAL_API_V4 to SpatialApiVersions ( I71e7a )

Версия 1.0

Version 1.0.0-rc01

9 сентября 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .

Behavior Changes

Version 1.0.0-beta02

12 августа 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .

Исправлены ошибки

  • Improved the detection of OpenXR support in emulated environments. ( Ifec51 )
  • Implemented toString() in more classes for debugging. ( I67d83 )
  • Fix XrDeviceTestRule to work when XrDevice is created after applying settings. ( Ica32c )

Version 1.0.0-beta01

15 июля 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .

Изменения в API

  • Added SessionTestRule to runtime-testing. This API ( I672bc , b/516876144 )
  • Converted Session.create to a suspend function. ( I5d27f )
  • Added support for the lifecycle to the XrDeviceTestRule ( I2319c , b/512140272 )
  • Removed unused ExperimentalXrDeviceLifecycleApi experimental opt-in annotation. ( I46d95 )
  • Add specialized overrides of toString() for a number of runtime types. These types are intended to provide additional information to developers for debugging purposes and are not intended to be used in production or shipped applications.

Исправлены ошибки

  • Fixed Pose. fromLookAt forward direction alignment, corrected scale extraction in Matrix3, and prevented numerical NaNs in normalization, axis-angle conversion, and angleBetween calculations. ( I7a3b5 , b/367780918 )

Version 1.0.0-alpha15

17 июня 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .

Изменения в API

  • Added test API for isProjectedServiceAvailable() ( I44ba1 )
  • Exposed DeviceTrackingMode.INERTIAL as a public experimental API under the new @ExperimentalInertialTrackingApi annotation. ( Ic3df3 )
  • Added Config.Builder . Apps can create custom configurations by calling setter functions on the builder object and then calling Builder.build . ( I13142 )
  • androidx.xr.runtime.FieldOfView has been removed. Apps should use androidx.xr.runtime.math.FieldOfView instead. ( I621ef )
  • Session.create is now required to be ran on a @WorkerThread . ( I2169e )
  • Added isProjectedServiceAvailable() to the XrDevice ( I507e9 )
  • Renaming DeviceTrackingMode.SPATIAL_LAST_KNOWN to DeviceTrackingMode.SPATIAL and DeviceTrackingMode.INERTIAL_LAST_KNOWN to DeviceTrackingMode.INERTIAL ( I96f8b )
  • Vector3.angleBetween and Vector4.angleBetween now return degrees rather than radians. ( Ica8bc )
  • Added QrCode API ( Ia0bbe )

Version 1.0.0-alpha14

19 мая 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .

Изменения в API

  • Deprecating GeospatialMode.VPS_AND_GPS in favor of GeospatialMode.SPATIAL and introducing a new lower-power tracking mode, GeospatialMode.INERTIAL , which uses only IMU and GPS. ( I1e6cd )
  • Removes deprecation tag on androidx.xr.runtime.FieldOfView . Makes androidx.xr.runtime.math.FieldOfView a type aliaas of androidx.xr.runtime.FieldOfView in preparation for the latter's removal in the next release. Clients must migrate to the androidx.xr.runtime.math version wherever they are using the androidx.xr.runtime version. ( I6ce15 )
  • Added the PreviewProjectedApi annotation ( Ic49f6 )
  • Removed AugmentedObjectCategory.allSupported ( I08656 )
  • Adding APIs in XrDevice for determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 )
  • Session.getNativeData has been replaced with XrDevice.getNativeInstanceData and Session.getNativeSessionData . ( Ieb077 )
  • Annotated DeviceTrackingMode.INERTIAL_LAST_KNOWN with @PreviewSpatialApi . ( I99868 )
  • Added XrDeviceTestRule for its use in unit tests. ( I87584 )
  • Adding CATEGORY_XR_PROJECTED_LAUNCHER , this constant is used in the Manifest file to indicate the activity should be discovered as a launcher by the system. ( Ia3069 )

External Contribution

  • Add AugmentedImageMode to the Config API ( I0cf09 )

Version 1.0.0-alpha13

6 мая 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .

Изменения в API

  • TrackingState and VpsAvailabilityResult have moved to the androidx.xr.arcore package , and the types in androidx.xr.runtime are now deprecated. ( Ic7930 , b/480462213 )
  • Session.getNativeData() is now defined the xr:runtime:runtime module and provides [ nativeFunctionTablePointer ] for OpenXR-backed runtimes. ( Ifa862 )
  • Moved NativeData API to xr:runtime:runtime library. ( I87954 , b/494251500 )
  • Session.create and Session.configure are now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 )
  • androidx.xr.runtime.FieldOfView has been deprecated. Use androidx.xr.runtime.math.FieldOfView instead. ( Ia01a0 , b/480233045 )
  • Matrix4.pose has been renamed to Matrix4.toPose() . The pose property is now deprecated. ( I329b4 , b/493383490 )
  • Added the XrServiceAvailability API ( If379e , b/493558010 )
  • Added the ExperimentalXrServiceAvailabilityApi annotation ( Icab49 , b/491069725 )
  • Remove the suffix for @PreviewSpatialApi ( If5242 , b/491939311 )
  • Renamed DeviceTrackingMode.LAST_KNOWN to SPATIAL_LAST_KNOWN (with a deprecated fallback), added INERTIAL_LAST_KNOWN for 3DoF tracking, and added TRACKING_DEGRADED to TrackingState . ( Ie661c , b/445466590 )
  • Added XrLog API. Set XrLog.isEnabled to true to enable logging in JetpackXR, and use [ XrLog.Level ] to set the log level. ( I76a1f , b/463460895 , b/487378441 )
  • Adding DISPLAY_CATEGORY_XR_PROJECTED , this constant is used in the Manifest file to indicate the activity is meant for a XR projected display ( I26d8b )

Version 1.0.0-alpha12

25 марта 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .

Изменения в API

  • Changed Config.augmentedObjectCategories from a List to a Set, ( I25a64 , b/487376359 )
  • Removed unscaledGravityAlignedActivitySpace flag from Session.create . ActivitySpace is always unscaled and gravity-aligned now. ( If6f11 , b/458173423 )
  • Added Session.create overload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 )
  • Added JvmOverloads to FloatSize2d.to3d , Matrix3.copy , and Matrix4.copy ( I69586 , b/481371562 )
  • Added ability to set categories for AugmentedObject tracking in the Config ( I1f6e4 , b/480220930 )
  • Added xr:runtime:runtime-interfaces module. ( I52ac6 , b/461561664 )

Version 1.0.0-alpha11

25 февраля 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .

Изменения в API

  • Restricted ConfigMode interface to internal use ( Ibfb87 )
  • Moved androidx.xr.runtime.Config.GeospatialMode to package level ( Ibe682 )
  • Moved androidx.xr.runtime.Config.FaceTrackingMode to package level ( Iac501 )
  • Moved androidx.xr.runtime.Config.AnchorPersistenceMode to package level ( I0360f )
  • Moved androidx.xr.runtime.Config.DepthEstimationMode to package level ( I7e3e9 )
  • Moved androidx.xr.runtime.Config.DeviceTrackingMode to package level ( I3aacd )
  • Moved androidx.xr.runtime.Config.HandTrackingMode to package level ( I658f3 )
  • Moved androidx.xr.runtime.Config.PlaneTrackingMode to package level ( Ia251b )
  • Moved androidx.xr.runtime.XrDevice.DisplayBlendMode to package level ( I6f333 )
  • Added a factory method to create an XrDevice using a Context, Session and a CoroutineContext . ( I139c5 )
  • Added SpatialApiVersionHelper to help query the runtime version of Android XR available on the platform. ( I7c53c )
  • Added xr:runtime:runtime-openxr module ( Ib42ea )

Version 1.0.0-alpha10

28 января 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .

Изменения в API

  • ConfigMode.HeadTrackingMode is replaced with ConfigMode.DeviceTrackingMode . ( le273e , b/467150206 )
  • Removed Quaternion's toNormalized , times(float) , div(float) methods. These methods are redundant given that all Quaternions are normalized at construction time and given that the class is immutable. ( l558fc , b/460210457 )

Исправлены ошибки

  • Added documentation to Session.create that illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 )
  • Prevented applications from creating a BoundingBox with a NaN value. ( l58c14 , b/464025895 )

Version 1.0.0-alpha09

December 03, 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .

Version 1.0.0-alpha08

19 ноября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .

Новые функции

  • XrDevice added to provide information about device capabilities. ( Ic9d1f )
  • Added new ConfigMode.isSupported API for querying session capabilities. ( Iff7af )
  • Added XrDisplay.BlendMode API. ( I484e4 )

Изменения в API

  • Renamed [XrDevice.getPreferredBlendMode] to [XrDevice.getPreferredDisplayBlendMode]. ( I7e48f )

Version 1.0.0-alpha07

22 октября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .

Изменения в API

  • Remove SessionConfigureConfigureNotSupported and replace it with UnsupportedOperationException . ( I7680f )

Version 1.0.0-alpha06

24 сентября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .

Изменения в API

  • HandJointType has been moved to xr:arcore:arcore from xr:runtime:runtime . ( Iadb9c , b/409058039 )
  • Changing the times operator for componentWiseMultiplication for Vector2 , Vector3 , Vector4 to scale and removing the operator symbol for consistency with other math libraries. Also removing componentWiseDivision from the Vector classes in lieu of using Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
  • :xr:runtime:runtime-guava will be removed as Coroutines.kt has been replaced with SuspendtoFutureAdapter . ( I0cd3c , b/406597902 )

Version 1.0.0-alpha05

30 июля 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .

Новые функции

  • Add HandJointType and TrackingState . ( I55880 , b/334645808 )
  • Make Config implementation public. ( I95860 , b/334645808 )
  • Introduced new SessionCreateResult and SessionConfigureResult types. ( Icb8cb , b/334645808 )
  • Add a new BoundingBox class that represents an axis-aligned bounding box in 3D space, defined by its minimum and maximum corner points. ( Ic68c5 , b/423073468 )

Изменения в API

  • Renamed and moved androidx.xr.scenecore.PixelDimensions to androidx.xr.runtime.math.IntSize2d . Renamed and moved androidx.xr.scenecore.Dimensions to androidx.xr.runtime.math.FloatSize3d . Renamed androidx.xr.scenecore.PlaneType to androidx.xr.scenecore.PlaneOrientation . Renamed androidx.xr.scenecore.PlaneSemantic to androidx.xr.scenecore.PlaneSemanticType . ( Ifd405 , b/416456228 )
  • Removed androidx.xr.runtime.FoV class. Use androidx.xr.runtime.FieldOfView instead. ( I9ae27 )
  • Added an additional overload for Session.create which can provide a LifecycleOwner for the Session to attach to. Note that an Activity will still need to be provided for resource ownership and the LifecycleOwner must be scoped within the Activity. ( I1690b )
  • Renamed FakeRuntimeAnchor.anchorsCreated to anchorsCreatedCount ( I96df9 , b/424441218 )
  • Config *Mode vals have been renamed to reflect their behavior. ( I6d247 , b/414648065 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 , b/344563182 )
  • APIs related to manifest strings have been moved from :xr:runtime:runtime to :xr:runtime:runtime-manifest . The package name has changed from androidx.xr.runtime to androidx.xr.runtime.manifest . ( I610ad , b/418800249 )
  • Session.resume() , Session.pause() , and Session.destroy() have been removed from the API surface. Session is no longer a LifecycleOwner . The Session's lifecycle will now be attached to the lifecycle of the Activity passed in Session.create() . ( I28a03 )
  • 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 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kolin-style async APIs. Java developers can depend on :xr:runtime:runtime-guava to access compatible APIs. ( I05d4a , b/426639315 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kotlin-style async APIs. Java developers can depend on the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( I7c488 , b/430651879 )

Version 1.0.0-alpha04

7 мая 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .

Новые функции

  • Session now implements androidx.lifecycle.LifecycleOwner for more interoperability with existing Android lifecycle paradigms.
  • Manifest strings for Android XR are specified and documented here.
  • Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
  • Added a stub version of the JxrPlatformAdapter (and all its related classes).
  • Session will be used in both SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against virtual content.
  • Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
  • Added new Component type SpatialPointerComponent , allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached to PanelEntity instances only.

Изменения в API

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is no longer a data class.

Исправлены ошибки

  • Fixed Runtime proguard configurations.

Version 1.0.0-alpha03

26 февраля 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are 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.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .

Breaking & behavioral changes

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.resume .

Новые функции

  • Added hand tracking support.

Исправлены ошибки

  • Creating anchors is more stable when running on an emulator

Version 1.0.0-alpha01

12 декабря 2024 г.

androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.

Features of Initial Release

Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.

  • Session : Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.

  • Pose : A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.

Известные проблемы

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .
,

XR Runtime

Start your custom AR or 3D session with our native runtime.
Последнее обновление Стабильный релиз Предварительная версия релиза Бета-версия Альфа-версия
9 сентября 2026 г. - 1.0.0-rc01 - 1.1.0-alpha01

Объявление зависимостей

To add a dependency on XR runtime, 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.runtime:runtime:1.1.0-alpha01"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.1.0-alpha01"
}

Котлин

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")
}

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.1

Version 1.1.0-alpha01

9 сентября 2026 г.

androidx.xr.runtime:runtime-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits .

Изменения в API

  • Add SPATIAL_API_V4 to SpatialApiVersions ( I71e7a )

Версия 1.0

Version 1.0.0-rc01

9 сентября 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .

Behavior Changes

Version 1.0.0-beta02

12 августа 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .

Исправлены ошибки

  • Improved the detection of OpenXR support in emulated environments. ( Ifec51 )
  • Implemented toString() in more classes for debugging. ( I67d83 )
  • Fix XrDeviceTestRule to work when XrDevice is created after applying settings. ( Ica32c )

Version 1.0.0-beta01

15 июля 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .

Изменения в API

  • Added SessionTestRule to runtime-testing. This API ( I672bc , b/516876144 )
  • Converted Session.create to a suspend function. ( I5d27f )
  • Added support for the lifecycle to the XrDeviceTestRule ( I2319c , b/512140272 )
  • Removed unused ExperimentalXrDeviceLifecycleApi experimental opt-in annotation. ( I46d95 )
  • Add specialized overrides of toString() for a number of runtime types. These types are intended to provide additional information to developers for debugging purposes and are not intended to be used in production or shipped applications.

Исправлены ошибки

  • Fixed Pose. fromLookAt forward direction alignment, corrected scale extraction in Matrix3, and prevented numerical NaNs in normalization, axis-angle conversion, and angleBetween calculations. ( I7a3b5 , b/367780918 )

Version 1.0.0-alpha15

17 июня 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .

Изменения в API

  • Added test API for isProjectedServiceAvailable() ( I44ba1 )
  • Exposed DeviceTrackingMode.INERTIAL as a public experimental API under the new @ExperimentalInertialTrackingApi annotation. ( Ic3df3 )
  • Added Config.Builder . Apps can create custom configurations by calling setter functions on the builder object and then calling Builder.build . ( I13142 )
  • androidx.xr.runtime.FieldOfView has been removed. Apps should use androidx.xr.runtime.math.FieldOfView instead. ( I621ef )
  • Session.create is now required to be ran on a @WorkerThread . ( I2169e )
  • Added isProjectedServiceAvailable() to the XrDevice ( I507e9 )
  • Renaming DeviceTrackingMode.SPATIAL_LAST_KNOWN to DeviceTrackingMode.SPATIAL and DeviceTrackingMode.INERTIAL_LAST_KNOWN to DeviceTrackingMode.INERTIAL ( I96f8b )
  • Vector3.angleBetween and Vector4.angleBetween now return degrees rather than radians. ( Ica8bc )
  • Added QrCode API ( Ia0bbe )

Version 1.0.0-alpha14

19 мая 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .

Изменения в API

  • Deprecating GeospatialMode.VPS_AND_GPS in favor of GeospatialMode.SPATIAL and introducing a new lower-power tracking mode, GeospatialMode.INERTIAL , which uses only IMU and GPS. ( I1e6cd )
  • Removes deprecation tag on androidx.xr.runtime.FieldOfView . Makes androidx.xr.runtime.math.FieldOfView a type aliaas of androidx.xr.runtime.FieldOfView in preparation for the latter's removal in the next release. Clients must migrate to the androidx.xr.runtime.math version wherever they are using the androidx.xr.runtime version. ( I6ce15 )
  • Added the PreviewProjectedApi annotation ( Ic49f6 )
  • Removed AugmentedObjectCategory.allSupported ( I08656 )
  • Adding APIs in XrDevice for determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 )
  • Session.getNativeData has been replaced with XrDevice.getNativeInstanceData and Session.getNativeSessionData . ( Ieb077 )
  • Annotated DeviceTrackingMode.INERTIAL_LAST_KNOWN with @PreviewSpatialApi . ( I99868 )
  • Added XrDeviceTestRule for its use in unit tests. ( I87584 )
  • Adding CATEGORY_XR_PROJECTED_LAUNCHER , this constant is used in the Manifest file to indicate the activity should be discovered as a launcher by the system. ( Ia3069 )

External Contribution

  • Add AugmentedImageMode to the Config API ( I0cf09 )

Version 1.0.0-alpha13

6 мая 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .

Изменения в API

  • TrackingState and VpsAvailabilityResult have moved to the androidx.xr.arcore package , and the types in androidx.xr.runtime are now deprecated. ( Ic7930 , b/480462213 )
  • Session.getNativeData() is now defined the xr:runtime:runtime module and provides [ nativeFunctionTablePointer ] for OpenXR-backed runtimes. ( Ifa862 )
  • Moved NativeData API to xr:runtime:runtime library. ( I87954 , b/494251500 )
  • Session.create and Session.configure are now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 )
  • androidx.xr.runtime.FieldOfView has been deprecated. Use androidx.xr.runtime.math.FieldOfView instead. ( Ia01a0 , b/480233045 )
  • Matrix4.pose has been renamed to Matrix4.toPose() . The pose property is now deprecated. ( I329b4 , b/493383490 )
  • Added the XrServiceAvailability API ( If379e , b/493558010 )
  • Added the ExperimentalXrServiceAvailabilityApi annotation ( Icab49 , b/491069725 )
  • Remove the suffix for @PreviewSpatialApi ( If5242 , b/491939311 )
  • Renamed DeviceTrackingMode.LAST_KNOWN to SPATIAL_LAST_KNOWN (with a deprecated fallback), added INERTIAL_LAST_KNOWN for 3DoF tracking, and added TRACKING_DEGRADED to TrackingState . ( Ie661c , b/445466590 )
  • Added XrLog API. Set XrLog.isEnabled to true to enable logging in JetpackXR, and use [ XrLog.Level ] to set the log level. ( I76a1f , b/463460895 , b/487378441 )
  • Adding DISPLAY_CATEGORY_XR_PROJECTED , this constant is used in the Manifest file to indicate the activity is meant for a XR projected display ( I26d8b )

Version 1.0.0-alpha12

25 марта 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .

Изменения в API

  • Changed Config.augmentedObjectCategories from a List to a Set, ( I25a64 , b/487376359 )
  • Removed unscaledGravityAlignedActivitySpace flag from Session.create . ActivitySpace is always unscaled and gravity-aligned now. ( If6f11 , b/458173423 )
  • Added Session.create overload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 )
  • Added JvmOverloads to FloatSize2d.to3d , Matrix3.copy , and Matrix4.copy ( I69586 , b/481371562 )
  • Added ability to set categories for AugmentedObject tracking in the Config ( I1f6e4 , b/480220930 )
  • Added xr:runtime:runtime-interfaces module. ( I52ac6 , b/461561664 )

Version 1.0.0-alpha11

25 февраля 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .

Изменения в API

  • Restricted ConfigMode interface to internal use ( Ibfb87 )
  • Moved androidx.xr.runtime.Config.GeospatialMode to package level ( Ibe682 )
  • Moved androidx.xr.runtime.Config.FaceTrackingMode to package level ( Iac501 )
  • Moved androidx.xr.runtime.Config.AnchorPersistenceMode to package level ( I0360f )
  • Moved androidx.xr.runtime.Config.DepthEstimationMode to package level ( I7e3e9 )
  • Moved androidx.xr.runtime.Config.DeviceTrackingMode to package level ( I3aacd )
  • Moved androidx.xr.runtime.Config.HandTrackingMode to package level ( I658f3 )
  • Moved androidx.xr.runtime.Config.PlaneTrackingMode to package level ( Ia251b )
  • Moved androidx.xr.runtime.XrDevice.DisplayBlendMode to package level ( I6f333 )
  • Added a factory method to create an XrDevice using a Context, Session and a CoroutineContext . ( I139c5 )
  • Added SpatialApiVersionHelper to help query the runtime version of Android XR available on the platform. ( I7c53c )
  • Added xr:runtime:runtime-openxr module ( Ib42ea )

Version 1.0.0-alpha10

28 января 2026 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .

Изменения в API

  • ConfigMode.HeadTrackingMode is replaced with ConfigMode.DeviceTrackingMode . ( le273e , b/467150206 )
  • Removed Quaternion's toNormalized , times(float) , div(float) methods. These methods are redundant given that all Quaternions are normalized at construction time and given that the class is immutable. ( l558fc , b/460210457 )

Исправлены ошибки

  • Added documentation to Session.create that illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 )
  • Prevented applications from creating a BoundingBox with a NaN value. ( l58c14 , b/464025895 )

Version 1.0.0-alpha09

December 03, 2025

androidx.xr.runtime:runtime-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .

Version 1.0.0-alpha08

19 ноября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .

Новые функции

  • XrDevice added to provide information about device capabilities. ( Ic9d1f )
  • Added new ConfigMode.isSupported API for querying session capabilities. ( Iff7af )
  • Added XrDisplay.BlendMode API. ( I484e4 )

Изменения в API

  • Renamed [XrDevice.getPreferredBlendMode] to [XrDevice.getPreferredDisplayBlendMode]. ( I7e48f )

Version 1.0.0-alpha07

22 октября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .

Изменения в API

  • Remove SessionConfigureConfigureNotSupported and replace it with UnsupportedOperationException . ( I7680f )

Version 1.0.0-alpha06

24 сентября 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .

Изменения в API

  • HandJointType has been moved to xr:arcore:arcore from xr:runtime:runtime . ( Iadb9c , b/409058039 )
  • Changing the times operator for componentWiseMultiplication for Vector2 , Vector3 , Vector4 to scale and removing the operator symbol for consistency with other math libraries. Also removing componentWiseDivision from the Vector classes in lieu of using Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
  • :xr:runtime:runtime-guava will be removed as Coroutines.kt has been replaced with SuspendtoFutureAdapter . ( I0cd3c , b/406597902 )

Version 1.0.0-alpha05

30 июля 2025 г.

androidx.xr.runtime:runtime-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .

Новые функции

  • Add HandJointType and TrackingState . ( I55880 , b/334645808 )
  • Make Config implementation public. ( I95860 , b/334645808 )
  • Introduced new SessionCreateResult and SessionConfigureResult types. ( Icb8cb , b/334645808 )
  • Add a new BoundingBox class that represents an axis-aligned bounding box in 3D space, defined by its minimum and maximum corner points. ( Ic68c5 , b/423073468 )

Изменения в API

  • Renamed and moved androidx.xr.scenecore.PixelDimensions to androidx.xr.runtime.math.IntSize2d . Renamed and moved androidx.xr.scenecore.Dimensions to androidx.xr.runtime.math.FloatSize3d . Renamed androidx.xr.scenecore.PlaneType to androidx.xr.scenecore.PlaneOrientation . Renamed androidx.xr.scenecore.PlaneSemantic to androidx.xr.scenecore.PlaneSemanticType . ( Ifd405 , b/416456228 )
  • Removed androidx.xr.runtime.FoV class. Use androidx.xr.runtime.FieldOfView instead. ( I9ae27 )
  • Added an additional overload for Session.create which can provide a LifecycleOwner for the Session to attach to. Note that an Activity will still need to be provided for resource ownership and the LifecycleOwner must be scoped within the Activity. ( I1690b )
  • Renamed FakeRuntimeAnchor.anchorsCreated to anchorsCreatedCount ( I96df9 , b/424441218 )
  • Config *Mode vals have been renamed to reflect their behavior. ( I6d247 , b/414648065 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 , b/344563182 )
  • APIs related to manifest strings have been moved from :xr:runtime:runtime to :xr:runtime:runtime-manifest . The package name has changed from androidx.xr.runtime to androidx.xr.runtime.manifest . ( I610ad , b/418800249 )
  • Session.resume() , Session.pause() , and Session.destroy() have been removed from the API surface. Session is no longer a LifecycleOwner . The Session's lifecycle will now be attached to the lifecycle of the Activity passed in Session.create() . ( I28a03 )
  • 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 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kolin-style async APIs. Java developers can depend on :xr:runtime:runtime-guava to access compatible APIs. ( I05d4a , b/426639315 )
  • The main Runtime artifact ( :xr:runtime:runtime ) will only contain Kotlin-style async APIs. Java developers can depend on the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( I7c488 , b/430651879 )

Version 1.0.0-alpha04

7 мая 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .

Новые функции

  • Session now implements androidx.lifecycle.LifecycleOwner for more interoperability with existing Android lifecycle paradigms.
  • Manifest strings for Android XR are specified and documented here.
  • Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
  • Added a stub version of the JxrPlatformAdapter (and all its related classes).
  • Session will be used in both SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against virtual content.
  • Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
  • Added new Component type SpatialPointerComponent , allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached to PanelEntity instances only.

Изменения в API

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is no longer a data class.

Исправлены ошибки

  • Fixed Runtime proguard configurations.

Version 1.0.0-alpha03

26 февраля 2025 г.

androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are 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.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .

Breaking & behavioral changes

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.resume .

Новые функции

  • Added hand tracking support.

Исправлены ошибки

  • Creating anchors is more stable when running on an emulator

Version 1.0.0-alpha01

12 декабря 2024 г.

androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.

Features of Initial Release

Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.

  • Session : Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.

  • Pose : A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.

Известные проблемы

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .