รันไทม์ XR
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 25 มีนาคม 2026 | - | - | - | 1.0.0-alpha12 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ในรันไทม์ XR คุณต้องเพิ่มที่เก็บ Google Maven ลงในโปรเจ็กต์ อ่าน ที่เก็บ Maven ของ Google เพื่อดูข้อมูลเพิ่มเติม
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle ของแอปหรือโมดูล
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha12" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha12") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha12") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่หัวข้อเพิ่มทรัพยากร Dependency ของบิลด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีไอเดียในการปรับปรุงไลบรารีนี้ โปรดดู ปัญหาที่มีอยู่แล้ว ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่แล้วได้โดยคลิกปุ่มรูปดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของIssue Tracker
เวอร์ชัน 1.0
เวอร์ชัน 1.0.0-alpha12
25 มีนาคม 2026
เผยแพร่ androidx.xr.runtime:runtime-*:1.0.0-alpha12 แล้ว เวอร์ชัน 1.0.0-alpha12 มีการคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- เปลี่ยน
Config.augmentedObjectCategoriesจาก List เป็น Set (I25a64, b/487376359) - นำแฟล็ก
unscaledGravityAlignedActivitySpaceออกจากSession.createตอนนี้ActivitySpaceจะไม่มีการปรับขนาดและมีการจัดแนวแรงโน้มถ่วงเสมอ (If6f11, b/458173423) - เพิ่มการโอเวอร์โหลด
Session.createเพื่ออนุญาตให้ส่งบริบทของ Android สำหรับการกำหนดขอบเขตทรัพยากร (I7d3fe, b/415805990, b/477386334) - เพิ่ม
JvmOverloadsลงในFloatSize2d.to3d,Matrix3.copyและMatrix4.copy(I69586, b/481371562) - เพิ่มความสามารถในการตั้งค่าหมวดหมู่สำหรับการติดตาม
AugmentedObjectใน Config (I1f6e4, b/480220930) - เพิ่มโมดูล
xr:runtime:runtime-interfaces(I52ac6, b/461561664)
เวอร์ชัน 1.0.0-alpha11
25 กุมภาพันธ์ 2026
เผยแพร่ 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) - เพิ่มเมธอด Factory เพื่อสร้าง
XrDeviceโดยใช้บริบท เซสชัน และCoroutineContext(I139c5) - เพิ่ม
SpatialApiVersionHelperเพื่อช่วยในการค้นหาเวอร์ชันรันไทม์ของ Android XR ที่พร้อมใช้งานบนแพลตฟอร์ม (I7c53c) - เพิ่มโมดูล
xr:runtime:runtime-openxr(Ib42ea)
เวอร์ชัน 1.0.0-alpha10
28 มกราคม 2026
เผยแพร่ androidx.xr.runtime:runtime-*:1.0.0-alpha10 แล้ว เวอร์ชัน 1.0.0-alpha10 มี การคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
ConfigMode.HeadTrackingModeถูกแทนที่ด้วยConfigMode.DeviceTrackingMode(le273e, b/467150206)- นำเมธอด
toNormalized,times(float),div(float)ของ Quaternion ออก เมธอดเหล่านี้ไม่จำเป็นเนื่องจาก 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:runtime:runtimeไปที่xr:arcore:arcore(Iadb9c, b/409058039) - เปลี่ยนโอเปอเรเตอร์ times สำหรับ
componentWiseMultiplicationสำหรับVector2,Vector3,Vector4เป็น scale และนำสัญลักษณ์โอเปอเรเตอร์ออกเพื่อให้สอดคล้องกับไลบรารีคณิตศาสตร์อื่นๆ นอกจากนี้ ยังนำ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) - ตอนนี้ไลบรารีนี้ใช้ คำอธิบายประกอบ nullness ของ 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 มีการคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- ตอนนี้เซสชันใช้
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แล้ว - ตอนนี้ต้องมีสิทธิ์
android.permission.HAND_TRACKINGสำหรับSession.createและSession.resume
ฟีเจอร์ใหม่
- เพิ่มการรองรับการติดตามการเคลื่อนไหวของมือ
การแก้ไขข้อบกพร่อง
- การสร้าง 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 ที่ใช้ในพื้นผิว API ของ Jetpack XR ทั้งหมด
Session: ช่วยให้คุณควบคุมระบบ XR ได้อย่างละเอียด รวมถึงการตัดสินใจว่าจะดำเนินการประมวลผลเมื่อใดและเมื่อใดที่ไม่ดำเนินการ รวมถึงการกำหนดค่าโดยรวม นอกจากนี้ ยังเป็นแฮนเดิลที่คุณจะใช้ใน API อื่นๆ ทั้งหมดเพื่อปลดล็อกความสามารถของระบบเบื้องหลังPose: ตำแหน่งในระบบพิกัดที่กำหนดเองซึ่งมีตำแหน่งและการวางแนวที่เชื่อมโยงอยู่ คุณจะใช้คลาสนี้เพื่อสื่อสารตำแหน่งของออบเจ็กต์กับ ARCore สำหรับ Jetpack XR และ Jetpack SceneCore
ปัญหาที่ทราบเกี่ยวกับ
configureไม่มีการดำเนินการใดๆ ในขณะนี้ การเผยแพร่ในอนาคตจะเพิ่มการตั้งค่าใหม่ที่คุณใช้เพื่อควบคุมลักษณะการทำงานของSessionได้