รันไทม์ XR
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 22 ตุลาคม 2025 | - | - | - | 1.0.0-alpha07 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ในรันไทม์ XR คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ 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" }
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 ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
รุ่น 1.0
เวอร์ชัน 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:runtime:runtimeไปที่xr:arcore:arcoreแล้ว (Iadb9c, b/409058039) - เปลี่ยนโอเปอเรเตอร์คูณสำหรับ
componentWiseMultiplicationสำหรับVector2,Vector3,Vector4เพื่อปรับขนาดและนำสัญลักษณ์โอเปอเรเตอร์ออกเพื่อให้สอดคล้องกับไลบรารีคณิตศาสตร์อื่นๆ นอกจากนี้ เรายังนำcomponentWiseDivisionออกจากคลาส Vector แทนการใช้Vector.scale(otherVector.inverse())ด้วย (I8e1f6, b/399146447) - การเพิ่ม [unscaled] เพื่อแสดงผลเมทริกซ์ที่มีการปรับขนาดเป็น 1 (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คลาสใหม่ที่แสดงกล่องขอบเขตที่สอดคล้องกับแกนในพื้นที่ 3 มิติ ซึ่งกำหนดโดยจุดมุมต่ำสุดและสูงสุด (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ให้เซสชันแนบได้ โปรดทราบว่าคุณยังคงต้องระบุกิจกรรมสำหรับการเป็นเจ้าของทรัพยากร และต้องกำหนดขอบเขตLifecycleOwnerภายในกิจกรรม (I1690b) - เปลี่ยนชื่อ
FakeRuntimeAnchor.anchorsCreatedเป็นanchorsCreatedCount(I96df9, b/424441218) - เราได้เปลี่ยนชื่อค่า Config
*Modeเพื่อให้สอดคล้องกับลักษณะการทำงานของค่าดังกล่าว (I6d247, b/414648065) - โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5, b/344563182)
- API ที่เกี่ยวข้องกับสตริงไฟล์ Manifest ได้ย้ายจาก
: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) - ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนา Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง:
-Xjspecify-annotations=strict(นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (Ia8420, b/326456246) - อาร์ติแฟกต์รันไทม์หลัก (
:xr:runtime:runtime) จะมีเฉพาะ API แบบไม่พร้อมกันสไตล์ Kotlin เท่านั้น นักพัฒนา Java สามารถใช้:xr:runtime:runtime-guavaเพื่อเข้าถึง API ที่เข้ากันได้ (I05d4a, b/426639315) - อาร์ติแฟกต์รันไทม์หลัก (
:xr:runtime:runtime) จะมีเฉพาะ API แบบไม่พร้อมกันในรูปแบบ Kotlin เท่านั้น นักพัฒนาซอฟต์แวร์ Java สามารถใช้ไลบรารีxr:runtime:runtime-rxjava3เพื่อเข้าถึง API ที่เข้ากันได้ (I64122, b/426639775) - ย้าย Coroutines ไปยัง
:xr:runtime:runtime-guavaและ Flows ไปยัง: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 ที่มีอยู่ได้มากขึ้น - สตริงไฟล์ Manifest สำหรับ Android XR จะระบุและบันทึกไว้ที่นี่
- เพิ่มเมธอดส่วนขยาย Spatial Visibility Callback เพื่อตรวจสอบเมื่อเนื้อหาฉากเคลื่อนที่ภายในหรือภายนอกฟิลด์มุมมองของผู้ใช้
- เพิ่มเวอร์ชัน Stub ของ
JxrPlatformAdapter(และคลาสที่เกี่ยวข้องทั้งหมด) - ระบบจะใช้เซสชันทั้งใน
SceneCoreและรันไทม์แทนเซสชันใน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ต้องระบุอย่างน้อย 1 รายการ (มีเวอร์ชันทดสอบ)FakePerceptionManagerจะแสดงAnchorInvalidUuidExceptionเมื่อส่ง UUID ที่ไม่ถูกต้องไปยังAnchor.loadและAnchor.unpersistCoreStateไม่ใช่คลาสข้อมูลอีกต่อไป
การแก้ไขข้อบกพร่อง
- แก้ไขการกำหนดค่า 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แล้ว
ฟีเจอร์ใหม่
- เพิ่มการรองรับการติดตามการเคลื่อนไหวของมือ
แก้ไขข้อบกพร่อง
- การสร้าง Anchor จะมีความเสถียรมากขึ้นเมื่อเรียกใช้ในโปรแกรมจำลอง
เวอร์ชัน 1.0.0-alpha01
12 ธันวาคม 2024
androidx.xr.runtime:runtime-* 1.0.0-alpha01 ได้รับการเผยแพร่แล้ว
ฟีเจอร์ของรุ่นแรก
การเปิดตัว Jetpack XR Runtime ครั้งแรก ไลบรารีนี้มีฟังก์ชันพื้นฐานสำหรับชุดไลบรารี Jetpack XR ซึ่งรวมถึงการค้นพบความสามารถ การจัดการวงจร การกำหนดค่า และอื่นๆ ไลบรารีรันไทม์มีรูปแบบต่างๆ (เช่น runtime-openxr หรือ runtime-testing) ขึ้นอยู่กับแพลตฟอร์มการดำเนินการ นอกจากนี้ ไลบรารียังมีนามธรรมทางคณิตศาสตร์พื้นฐาน เช่น Vector3 และ Matrix4 ที่ใช้ใน Jetpack XR API ทั้งหมด
Session: ช่วยให้คุณควบคุมระบบ XR ได้อย่างละเอียด รวมถึงการตัดสินใจว่าจะดำเนินการประมวลผลหรือไม่ และการกำหนดค่าโดยรวม นอกจากนี้ยังเป็นแฮนเดิลที่คุณจะใช้ใน API อื่นๆ ทั้งหมดเพื่อปลดล็อกความสามารถของระบบพื้นฐานPose: สถานที่ในระบบพิกัดที่กำหนดเองซึ่งมีตำแหน่งและการวางแนวที่เชื่อมโยงอยู่ คุณจะใช้คลาสนี้เพื่อสื่อสารตำแหน่งของออบเจ็กต์กับ ARCore สำหรับ Jetpack XR และ Jetpack SceneCore
ปัญหาที่ทราบ
- ขณะนี้
configureยังไม่มีการดำเนินการใดๆ การเปิดตัวในอนาคตจะเพิ่มการตั้งค่าใหม่ที่คุณใช้ควบคุมลักษณะการทำงานของSessionได้