XR 런타임
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2026년 5월 19일 | - | - | - | 1.0.0-alpha14 |
종속 항목 선언
XR 런타임의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 참고하세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha14" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha14" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha14") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha14") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.0
버전 1.0.0-alpha14
2026년 5월 19일
androidx.xr.runtime:runtime-*:1.0.0-alpha14이 출시되었습니다. 버전 1.0.0-alpha14에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
GeospatialMode.SPATIAL을 위해GeospatialMode.VPS_AND_GPS를 지원 중단하고 IMU와 GPS만 사용하는 새로운 저전력 추적 모드GeospatialMode.INERTIAL를 도입합니다. (I1e6cd)androidx.xr.runtime.FieldOfView에서 지원 중단 태그를 삭제합니다. 다음 출시에서androidx.xr.runtime.FieldOfView삭제를 준비하기 위해androidx.xr.runtime.math.FieldOfView을androidx.xr.runtime.FieldOfView의 유형 별칭으로 만듭니다. 클라이언트는androidx.xr.runtime버전을 사용하는 모든 곳에서androidx.xr.runtime.math버전으로 이전해야 합니다. (I6ce15)PreviewProjectedApi주석을 추가했습니다. (Ic49f6)AugmentedObjectCategory.allSupported삭제 (I08656)XrDevice에 핸드 트래킹, 눈 추적, 깊이 추정, 지리 공간, 렌더링에 대한 기기 지원을 확인하는 API 추가 (I00696)Session.getNativeData가XrDevice.getNativeInstanceData및Session.getNativeSessionData로 대체되었습니다. (Ieb077)DeviceTrackingMode.INERTIAL_LAST_KNOWN에@PreviewSpatialApi로 주석을 추가했습니다. (I99868)- 단위 테스트에서 사용할 수 있도록
XrDeviceTestRule를 추가했습니다. (I87584) CATEGORY_XR_PROJECTED_LAUNCHER추가. 이 상수는 활동이 시스템에 의해 런처로 검색되어야 함을 나타내기 위해 매니페스트 파일에서 사용됩니다. (Ia3069)
외부 기여
ConfigAPI에AugmentedImageMode추가 (I0cf09)
버전 1.0.0-alpha13
2026년 5월 6일
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모듈에 정의되고 OpenXR 지원 런타임에 [nativeFunctionTablePointer] 을 제공합니다. (Ifa862) NativeDataAPI를xr:runtime:runtime라이브러리로 이동했습니다. (I87954, b/494251500)- 이제
Session.create와Session.configure는 완전하지 않으며 when 문에 else 절이 필요합니다. (I9885e, b/495805998, b/495805998) androidx.xr.runtime.FieldOfView가 지원 중단되었습니다. 대신androidx.xr.runtime.math.FieldOfView를 사용합니다. (Ia01a0, b/480233045)Matrix4.pose에서Matrix4.toPose()로 이름을 바꿨습니다. 이제 포즈 속성이 지원 중단되었습니다. (I329b4, b/493383490)XrServiceAvailabilityAPI를 추가했습니다. (If379e, b/493558010)ExperimentalXrServiceAvailabilityApi주석을 추가했습니다. (Icab49, b/491069725)@PreviewSpatialApi의 접미사 삭제 (If5242, b/491939311)DeviceTrackingMode.LAST_KNOWN의 이름을SPATIAL_LAST_KNOWN로 변경하고 (지원 중단된 대체 포함) 3DoF 추적을 위해INERTIAL_LAST_KNOWN를 추가하고TRACKING_DEGRADED~TrackingState를 추가했습니다. (Ie661c, b/445466590)XrLogAPI를 추가했습니다.XrLog.isEnabled을true로 설정하여 JetpackXR에서 로깅을 사용 설정하고 [XrLog.Level] 를 사용하여 로그 수준을 설정합니다. (I76a1f, b/463460895, b/487378441)DISPLAY_CATEGORY_XR_PROJECTED추가. 이 상수는 활동이 XR 투영 디스플레이 (I26d8b)용임을 나타내기 위해 매니페스트 파일에서 사용됩니다.
버전 1.0.0-alpha12
2026년 3월 25일
androidx.xr.runtime:runtime-*:1.0.0-alpha12이 출시되었습니다. 버전 1.0.0-alpha12에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
Config.augmentedObjectCategories를 목록에서 집합으로 변경했습니다. (I25a64, b/487376359)Session.create에서unscaledGravityAlignedActivitySpace플래그가 삭제되었습니다. 이제ActivitySpace는 항상 크기가 조정되지 않고 중력에 맞춰 정렬됩니다. (If6f11, b/458173423)- 리소스 범위 지정에 Android 컨텍스트를 전달할 수 있도록
Session.create오버로드를 추가했습니다. (I7d3fe, b/415805990, b/477386334) FloatSize2d.to3d,Matrix3.copy,Matrix4.copy에JvmOverloads추가 (I69586, b/481371562)- 구성에서
AugmentedObject추적의 카테고리를 설정하는 기능 추가 (I1f6e4, b/480220930) xr:runtime:runtime-interfaces모듈이 추가되었습니다. (I52ac6, b/461561664)
버전 1.0.0-alpha11
2026년 2월 25일
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)- 컨텍스트, 세션,
CoroutineContext을 사용하여XrDevice을 만드는 팩토리 메서드를 추가했습니다. (I139c5) - 플랫폼에서 사용할 수 있는 Android XR의 런타임 버전을 쿼리하는 데 도움이 되는
SpatialApiVersionHelper추가 (I7c53c) xr:runtime:runtime-openxr모듈을 추가했습니다. (Ib42ea)
버전 1.0.0-alpha10
2026년 1월 28일
androidx.xr.runtime:runtime-*:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
ConfigMode.HeadTrackingMode이ConfigMode.DeviceTrackingMode으로 대체됩니다. (le273e, b/467150206)- Quaternion의
toNormalized,times(float),div(float)메서드가 삭제되었습니다. 모든 사원수가 생성 시간에 정규화되고 클래스가 불변이라는 점을 고려할 때 이러한 메서드는 중복됩니다. (l558fc, b/460210457)
버그 수정
- 애플리케이션의 기본 스레드에서 세션을 만들지 않는 방법을 보여주는
Session.create에 문서가 추가되었습니다. (le5554, b/463687170) - 애플리케이션이
NaN값이 있는BoundingBox를 생성하지 못하도록 했습니다. (l58c14, b/464025895)
버전 1.0.0-alpha09
2025년 12월 3일
androidx.xr.runtime:runtime-*:1.0.0-alpha09이 출시되었습니다. 버전 1.0.0-alpha09에는 이러한 커밋이 포함되어 있습니다.
버전 1.0.0-alpha08
2025년 11월 19일
androidx.xr.runtime:runtime-*:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 기기 기능에 관한 정보를 제공하기 위해
XrDevice가 추가되었습니다. (Ic9d1f) - 세션 기능을 쿼리하기 위한 새로운
ConfigMode.isSupportedAPI가 추가되었습니다. (Iff7af) XrDisplay.BlendModeAPI를 추가했습니다. (I484e4)
API 변경사항
- [XrDevice.getPreferredBlendMode] 가 [XrDevice.getPreferredDisplayBlendMode]로 이름이 변경되었습니다. (I7e48f)
버전 1.0.0-alpha07
2025년 10월 22일
androidx.xr.runtime:runtime-*:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
SessionConfigureConfigureNotSupported를 삭제하고UnsupportedOperationException로 바꿉니다. (I7680f)
버전 1.0.0-alpha06
2025년 9월 24일
androidx.xr.runtime:runtime-*:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에는 이러한 커밋이 포함되어 있습니다.
API 변경사항
HandJointType이(가)xr:runtime:runtime에서xr:arcore:arcore로 이동되었습니다. (Iadb9c, b/409058039)Vector2,Vector3,Vector4의 경우componentWiseMultiplication의 곱하기 연산자를 변경하여 확장하고 다른 수학 라이브러리와 일관성을 유지하기 위해 연산자 기호를 삭제합니다.Vector.scale(otherVector.inverse())를 사용하는 대신 벡터 클래스에서componentWiseDivision도 삭제합니다. (I8e1f6, b/399146447)- [unscaled] 를 추가하여 스케일이 1인 Matrix를 반환합니다. (I6381d, b/434928658)
Coroutines.kt이(가)SuspendtoFutureAdapter로 대체되었으므로:xr:runtime:runtime-guava이(가) 삭제됩니다. (I0cd3c, b/406597902)
버전 1.0.0-alpha05
2025년 7월 30일
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) - 최소 및 최대 모서리 점으로 정의된 3D 공간의 축 정렬 경계 상자를 나타내는 새
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)- 세션에 연결할
LifecycleOwner을 제공할 수 있는Session.create의 추가 오버로드를 추가했습니다. 리소스 소유권을 위해 활동을 제공해야 하며LifecycleOwner는 활동 내에서 범위가 지정되어야 합니다. (I1690b) FakeRuntimeAnchor.anchorsCreated의 이름을anchorsCreatedCount로 바꿨습니다. (I96df9, b/424441218)*Mode값의 이름이 동작을 반영하도록 변경되었습니다. (I6d247, b/414648065)- Kotlin 2.0으로 출시된 프로젝트는 KGP 2.0.0 이상을 사용하여 소비해야 합니다. (Idb6b5, b/344563182)
- 매니페스트 문자열과 관련된 API가
:xr:runtime:runtime에서:xr:runtime:runtime-manifest로 이동되었습니다. 패키지 이름이androidx.xr.runtime에서androidx.xr.runtime.manifest으로 변경되었습니다. (I610ad, b/418800249) Session.resume(),Session.pause(),Session.destroy()이 API 노출 영역에서 삭제되었습니다. 세션이 더 이상LifecycleOwner이 아닙니다. 이제 세션의 수명 주기가Session.create()에 전달된 활동의 수명 주기에 연결됩니다. (I28a03)- 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 다음 컴파일러 인수를 사용하여 올바른 사용을 강제해야 합니다.
-Xjspecify-annotations=strict(Kotlin 컴파일러 버전 2.1.0부터 기본값임) (Ia8420, b/326456246) - 기본 런타임 아티팩트 (
:xr:runtime:runtime)에는 Kotlin 스타일 비동기 API만 포함됩니다. Java 개발자는:xr:runtime:runtime-guava를 사용하여 호환되는 API에 액세스할 수 있습니다. (I05d4a, b/426639315) - 기본 런타임 아티팩트 (
:xr:runtime:runtime)에는 Kotlin 스타일 비동기 API만 포함됩니다. Java 개발자는xr:runtime:runtime-rxjava3라이브러리를 사용하여 호환되는 API에 액세스할 수 있습니다. (I64122, b/426639775) - 코루틴을
:xr:runtime:runtime-guava로, 흐름을:xr:runtime:runtime-rxjava3로 이동 (I60ae9) - 이제
Session.create및Session.configure은 충분한 권한이 부여되지 않은 경우SessionCreatePermissionsNotGranted또는SessionConfigurePermissionsNotGranted를 반환하는 대신SecurityException을 발생시킵니다. (I7c488, b/430651879)
버전 1.0.0-alpha04
2025년 5월 7일
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에는 이러한 커밋이 포함되어 있습니다.
새로운 기능
- 이제 세션이 기존 Android 수명 주기 패러다임과의 상호 운용성을 높이기 위해
androidx.lifecycle.LifecycleOwner를 구현합니다. - Android XR의 매니페스트 문자열은 여기에 지정되고 문서화되어 있습니다.
- 사용자의 시야 내 또는 외부로 장면 콘텐츠가 이동하는 시점을 모니터링하기 위해 공간 가시성 콜백 확장 프로그램 메서드가 추가되었습니다.
JxrPlatformAdapter(및 모든 관련 클래스)의 스텁 버전을 추가했습니다.SceneCore의 세션 대신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구현이 수정되었습니다.Session.configure의android.permission.SCENE_UNDERSTANDING권한 요구사항이android.permission.SCENE_UNDERSTANDING_COARSE로 변경되었습니다.LifecycleManager.configure가 구현되었으며 이제 구성 가능한 각 런타임 기능의 속성이 포함된Config객체를 전달합니다.- 이제
Session.configure를Config와 함께 호출하여 사용 가능한 런타임 기능을 구성할 수 있습니다. - 이제
Session.create는CoroutineDispatcher대신CoroutineContext전달을 지원합니다. Session.create는 Jetpack XR 및/또는SceneCore용ARCore로드를 지원합니다. 하나 이상 제공해야 합니다 (테스트 버전 사용 가능).- 잘못된 UUID가
Anchor.load및Anchor.unpersist에 전달되면FakePerceptionManager에서AnchorInvalidUuidException을 발생시킵니다. CoreState이 더 이상 데이터 클래스가 아닙니다.
버그 수정
- 고정 런타임 Proguard 구성
버전 1.0.0-alpha03
2025년 2월 26일
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
2025년 2월 12일
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런타임 함수는OpenXR리소스 한도에 도달했음을 알리는 오류 코드가 발생하면AnchorResourcesExhaustedException를 발생시킵니다. - 이제
Session.create및Session.resume에android.permission.HAND_TRACKING권한이 필요합니다.
새로운 기능
- 핸드 트래킹 지원이 추가되었습니다.
버그 수정
- 에뮬레이터에서 실행할 때 앵커 생성이 더 안정적임
버전 1.0.0-alpha01
2024년 12월 12일
androidx.xr.runtime:runtime-* 1.0.0-alpha01이 출시되었습니다.
초기 출시의 기능
Jetpack XR 런타임의 초기 출시 이 라이브러리에는 Jetpack XR 라이브러리 모음의 기본 기능이 포함되어 있습니다. 여기에는 기능 검색, 수명 주기 관리, 구성 등이 포함됩니다. 런타임 라이브러리는 실행 플랫폼에 따라 다양한 변형 (예: runtime-openxr 또는 runtime-testing)을 제공합니다. 또한 이 라이브러리는 전체 Jetpack XR API 노출 영역에서 사용되는 Vector3 및 Matrix4와 같은 기본 수학 추상화를 제공합니다.
Session: 처리 실행 여부와 전체 구성을 결정하는 등 XR 시스템을 세밀하게 제어할 수 있습니다. 또한 기본 시스템 기능을 잠금 해제하기 위해 다른 모든 API에서 사용할 핸들입니다.Pose: 위치와 방향이 연결된 임의의 좌표 시스템의 위치입니다. 이 클래스를 사용하여 Jetpack XR 및 Jetpack SceneCore용 ARCore와 객체의 위치를 통신합니다.
알려진 문제