XR 런타임
| 최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
|---|---|---|---|---|
| 2025년 10월 22일 | - | - | - | 1.0.0-alpha07 |
종속 항목 선언
XR 런타임의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 참고하세요.
다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
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" }
Kotlin
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을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.0
버전 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와 객체의 위치를 통신합니다.
알려진 문제