XR Runtime
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 22 октября 2025 г. | - | - | - | 1.0.0-альфа07 |
Объявление зависимостей
Чтобы добавить зависимость от среды выполнения XR, необходимо добавить в проект репозиторий Google Maven. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha07" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha07" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha07" }
Котлин
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha07") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha07") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha07") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha07") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.0
Версия 1.0.0-альфа07
22 октября 2025 г.
Выпущена androidx.xr.runtime:runtime-*:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты .
Изменения API
- Удалите
SessionConfigureConfigureNotSupportedи замените его наUnsupportedOperationException. ( I7680f )
Версия 1.0.0-альфа06
24 сентября 2025 г.
Выпущена androidx.xr.runtime:runtime-*:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .
Изменения API
-
HandJointTypeбыл перенесен вxr:arcore:arcoreизxr:runtime:runtime. ( Iadb9c , b/409058039 ) - Изменён оператор умножения для
componentWiseMultiplicationдляVector2,Vector3,Vector4на масштабируемый и удалён символ оператора для согласованности с другими математическими библиотеками. Также удалёнcomponentWiseDivisionиз классов Vector вместо использованияVector.scale(otherVector.inverse()). ( I8e1f6 , b/399146447 ) - Добавление [немасштабированного] возвращает матрицу с масштабом 1. ( I6381d , b/434928658 )
-
:xr:runtime:runtime-guavaбудет удален, так какCoroutines.ktбыл заменен наSuspendtoFutureAdapter. ( I0cd3c , b/406597902 )
Версия 1.0.0-альфа05
30 июля 2025 г.
Выпущена androidx.xr.runtime:runtime-*:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .
Новые функции
- Добавьте
HandJointTypeиTrackingState. ( I55880 , b/334645808 ) - Сделать реализацию конфигурации общедоступной. ( 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 ) - Конфигурация
*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. Жизненный цикл сеанса теперь будет связан с жизненным циклом 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-альфа04
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 указаны и задокументированы здесь.
- Добавлены методы расширения обратного вызова пространственной видимости для отслеживания перемещения содержимого сцены внутрь или за пределы поля зрения пользователя.
- Добавлена заглушка версии
JxrPlatformAdapter(и всех связанных с ним классов). - Session будет использоваться как в
SceneCore, так и в Runtime вместо Session вSceneCore. - Добавлен
ActivityPose.hitTest, позволяющий проводитьhitTestпо виртуальному содержимому. - Теперь поддерживается указание нескольких реализаций среды выполнения во время компиляции. Во время выполнения будет загружена только одна из них в зависимости от текущего набора функций устройства.
- Добавлен новый тип компонента
SpatialPointerComponent, позволяющий клиентам указывать значок, отображаемый для указателя, или отключать его. В настоящее время этот компонент можно прикрепить только к экземплярамPanelEntity.
Изменения API
- Сделать реализацию конфигурации общедоступной. ( 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больше не является классом данных.
Исправления ошибок
- Исправлены конфигурации Runtime Proguard.
Версия 1.0.0-альфа03
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-альфа02
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. - Разрешение
android.permission.HAND_TRACKINGтеперь требуется дляSession.createиSession.resume.
Новые функции
- Добавлена поддержка отслеживания рук.
Исправления ошибок
- Создание якорей становится более стабильным при запуске на эмуляторе.
Версия 1.0.0-альфа01
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 и ее аффилированных лиц.
Последнее обновление: 2025-10-22 UTC.