XR Runtime
| Последнее обновление | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 28 января 2026 г. | - | - | - | 1.0.0-alpha10 |
Объявление зависимостей
Чтобы добавить зависимость от среды выполнения XR, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha10" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha10" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha10" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha10" }
Котлин
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha10") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha10") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha10") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha10") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.0
Версия 1.0.0-alpha10
28 января 2026 г.
Выпущена версия androidx.xr.runtime:runtime-*:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит следующие коммиты .
Изменения в API
-
ConfigMode.HeadTrackingModeзаменен наConfigMode.HeadTrackingMode. ( 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:runtimexr: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 ) - В этой библиотеке теперь используются аннотации 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.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-01-28 UTC.