รันไทม์ XR

เริ่มเซสชัน AR หรือ 3D ที่กำหนดเองด้วยรันไทม์เนทีฟของเรา
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
7 ตุลาคม 2026 - 1.0.0-rc02 - 1.1.0-alpha01

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ในรันไทม์ XR คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

ดึงดูด

dependencies {
    implementation "androidx.xr.runtime:runtime:1.1.0-alpha01"

    // Use in environments that do not support OpenXR
    testImplementation "androidx.xr.runtime:runtime-testing:1.1.0-alpha01"
}

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.1.0-alpha01")

    // Use in environments that do not support OpenXR
    testImplementation("androidx.xr.runtime:runtime-testing:1.1.0-alpha01")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร Dependency ได้ที่เพิ่มทรัพยากร Dependency ของบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยให้ Jetpack ทำงานได้ดีขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของ Issue Tracker

รันไทม์

รุ่น 1.0

เวอร์ชัน 1.0.0-rc02

7 ตุลาคม 2026

androidx.xr.runtime:runtime-*:1.0.0-rc02 เปิดตัวแล้ว เวอร์ชัน 1.0.0-rc02 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาต่างๆ ใน androidx.xr.runtime และ androidx.xr.scenecore เพื่อปรับปรุงความปลอดภัยของหน่วยความจำและการจัดการวงจรทรัพยากร ซึ่งรวมถึงการอัปเดตตรรกะการจัดการบริบทและการล้างข้อมูลอ้างอิงเพื่อป้องกันการรั่วไหลของหน่วยความจำ (Id61f8)

เวอร์ชัน 1.1

เวอร์ชัน 1.1.0-alpha01

9 กันยายน 2569

androidx.xr.runtime:runtime-*:1.1.0-alpha01 เปิดตัวแล้ว เวอร์ชัน 1.1.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม SPATIAL_API_V4 ลงใน SpatialApiVersions (I71e7a)

รุ่น 1.0

เวอร์ชัน 1.0.0-rc01

9 กันยายน 2569

androidx.xr.runtime:runtime-*:1.0.0-rc01 เปิดตัวแล้ว เวอร์ชัน 1.0.0-rc01 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลงพฤติกรรม

  • ปรับปรุงการจัดการเหตุการณ์วงจรภายใน (I2f7b8, If1bc3, Ifa75e)

เวอร์ชัน 1.0.0-beta02

12 สิงหาคม 2569

androidx.xr.runtime:runtime-*:1.0.0-beta02 เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • ปรับปรุงการตรวจหาOpenXRการรองรับในสภาพแวดล้อมที่จำลอง (Ifec51)
  • ใช้ toString() ในชั้นเรียนมากขึ้นเพื่อการแก้ไขข้อบกพร่อง (I67d83)
  • แก้ไข XrDeviceTestRule ให้ทำงานเมื่อสร้าง XrDevice หลังจากใช้การตั้งค่า (Ica32c)

เวอร์ชัน 1.0.0-beta01

15 กรกฎาคม 2026

androidx.xr.runtime:runtime-*:1.0.0-beta01 เปิดตัวแล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม SessionTestRule ลงในการทดสอบรันไทม์ API นี้ (I672bc, b/516876144)
  • เปลี่ยน Session.create เป็นฟังก์ชันระงับ (I5d27f)
  • เพิ่มการรองรับวงจรของ XrDeviceTestRule (I2319c, b/512140272)
  • นำคำอธิบายประกอบการเลือกใช้ExperimentalXrDeviceLifecycleApiเวอร์ชันทดลองที่ไม่ได้ใช้ออกแล้ว (I46d95)
  • เพิ่มการลบล้างเฉพาะของ toString() สำหรับรันไทม์หลายประเภท ประเภทเหล่านี้มีไว้เพื่อให้ข้อมูลเพิ่มเติมแก่นักพัฒนาแอปเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง และไม่ได้มีไว้เพื่อใช้ในแอปพลิเคชันที่ใช้งานจริงหรือแอปพลิเคชันที่เผยแพร่

การแก้ไขข้อบกพร่อง

  • แก้ไขการจัดแนวทิศทางไปข้างหน้าของ Fixed PosefromLookAt, การดึงข้อมูลสเกลที่แก้ไขแล้วใน Matrix3 และป้องกันNaNsเชิงตัวเลขในการแปลงการทำให้เป็นมาตรฐาน, การแปลงแกน-มุม และการคำนวณ angleBetween (I7a3b5, b/367780918)

เวอร์ชัน 1.0.0-alpha15

17 มิถุนายน 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha15 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha15 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม API การทดสอบสำหรับ isProjectedServiceAvailable() (I44ba1)
  • เปิดตัว DeviceTrackingMode.INERTIAL เป็น API เวอร์ชันทดลองแบบสาธารณะภายใต้คำอธิบายประกอบ @ExperimentalInertialTrackingApi ใหม่ (Ic3df3)
  • เพิ่ม Config.Builder แล้ว แอปสามารถสร้างการกำหนดค่าที่กำหนดเองได้ โดยการเรียกฟังก์ชัน Setter ในออบเจ็กต์ Builder แล้วเรียก Builder.build (I13142)
  • androidx.xr.runtime.FieldOfView ถูกลบออกไปแล้ว แอป ควรใช้ androidx.xr.runtime.math.FieldOfView แทน (I621ef)
  • ตอนนี้ต้องเรียกใช้ Session.create ใน @WorkerThread (I2169e)
  • เพิ่ม isProjectedServiceAvailable() ลงใน XrDevice (I507e9)
  • เปลี่ยนชื่อ DeviceTrackingMode.SPATIAL_LAST_KNOWN เป็น DeviceTrackingMode.SPATIAL และ DeviceTrackingMode.INERTIAL_LAST_KNOWN เป็น DeviceTrackingMode.INERTIAL (I96f8b)
  • Vector3.angleBetween และ Vector4.angleBetween จะแสดงผลเป็นองศาแทนเรเดียน (Ica8bc)
  • เพิ่ม QrCode API (Ia0bbe)

เวอร์ชัน 1.0.0-alpha14

19 พฤษภาคม 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha14 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha14 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เลิกใช้งาน GeospatialMode.VPS_AND_GPS เพื่อให้ใช้ GeospatialMode.SPATIAL แทน และเปิดตัวโหมดการติดตามแบบประหยัดพลังงานใหม่ GeospatialMode.INERTIAL ซึ่งใช้เฉพาะ IMU และ GPS (I1e6cd)
  • นำแท็กการเลิกใช้งานใน androidx.xr.runtime.FieldOfView ออก ทำให้ androidx.xr.runtime.math.FieldOfView เป็นประเภทนามแฝงของ androidx.xr.runtime.FieldOfView เพื่อเตรียมพร้อมสำหรับการนำออกในรุ่นถัดไป ลูกค้าต้องย้ายข้อมูลไปยังเวอร์ชัน androidx.xr.runtime.math ในทุกที่ที่ใช้เวอร์ชัน androidx.xr.runtime (I6ce15)
  • เพิ่มคำอธิบายประกอบ PreviewProjectedApi (Ic49f6)
  • นำออกแล้ว AugmentedObjectCategory.allSupported (I08656)
  • เพิ่ม API ใน XrDevice เพื่อพิจารณาการรองรับการติดตามการเคลื่อนไหวของมือ การติดตามดวงตา การประมาณความลึก ข้อมูลเชิงพื้นที่ และการแสดงผลของอุปกรณ์ (I00696)
  • Session.getNativeData ถูกแทนที่ด้วย XrDevice.getNativeInstanceData และ Session.getNativeSessionData แล้ว (Ieb077)
  • DeviceTrackingMode.INERTIAL_LAST_KNOWN ที่มีคำอธิบายประกอบพร้อม @PreviewSpatialApi (I99868)
  • เพิ่ม XrDeviceTestRule เพื่อใช้ในการทดสอบหน่วย (I87584)
  • การเพิ่ม CATEGORY_XR_PROJECTED_LAUNCHER ระบบจะใช้ค่าคงที่นี้ในไฟล์ Manifest เพื่อระบุว่าระบบควรค้นพบกิจกรรมเป็นตัวเรียกใช้ (Ia3069)

การมีส่วนร่วมภายนอก

  • เพิ่ม AugmentedImageMode ลงใน Config API (I0cf09)

เวอร์ชัน 1.0.0-alpha13

6 พฤษภาคม 2026

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 และมี [nativeFunctionTablePointer] สำหรับรันไทม์ที่รองรับ OpenXR แล้ว (Ifa862)
  • ย้าย NativeData API ไปยังไลบรารี xr:runtime:runtime (I87954, b/494251500)
  • Session.create และ Session.configure ไม่ได้ครอบคลุมทุกกรณีอีกต่อไป และต้องมีวลี else ในคำสั่ง when (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView เลิกใช้งานแล้ว โปรดใช้ androidx.xr.runtime.math.FieldOfView แทน (Ia01a0, b/480233045)
  • Matrix4.pose เปลี่ยนชื่อเป็น Matrix4.toPose() แล้ว ตอนนี้เราเลิกใช้งานพร็อพเพอร์ตี้ท่าทางแล้ว (I329b4, b/493383490)
  • เพิ่ม XrServiceAvailability API (If379e, b/493558010)
  • เพิ่มคำอธิบายประกอบ ExperimentalXrServiceAvailabilityApi (Icab49, b/491069725)
  • นำคำต่อท้ายสำหรับ @PreviewSpatialApi (If5242, b/491939311) ออก
  • เปลี่ยนชื่อ DeviceTrackingMode.LAST_KNOWN เป็น SPATIAL_LAST_KNOWN (พร้อมการสำรองข้อมูลที่เลิกใช้งานแล้ว) เพิ่ม INERTIAL_LAST_KNOWN สำหรับการติดตาม 3DoF และเพิ่ม TRACKING_DEGRADED ลงใน TrackingState (Ie661c, b/445466590)
  • เพิ่ม API ของ XrLog ตั้งค่า XrLog.isEnabled เป็น true เพื่อเปิดใช้การบันทึกใน JetpackXR และใช้ [XrLog.Level] เพื่อตั้งค่าระดับบันทึก (I76a1f, b/463460895, b/487378441)
  • เมื่อเพิ่ม DISPLAY_CATEGORY_XR_PROJECTED ค่าคงที่นี้จะใช้ในไฟล์ Manifest เพื่อระบุว่ากิจกรรมนี้มีไว้สำหรับจอแสดงผล XR ที่ฉาย (I26d8b)

เวอร์ชัน 1.0.0-alpha12

25 มีนาคม 2026

androidx.xr.runtime:runtime-*:1.0.0-alpha12 เปิดตัวแล้ว เวอร์ชัน 1.0.0-alpha12 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เปลี่ยน Config.augmentedObjectCategories จากรายการเป็นชุด (I25a64, b/487376359)
  • นำธง unscaledGravityAlignedActivitySpace ออกจาก Session.create แล้ว ตอนนี้ ActivitySpace จะไม่ปรับขนาดและจัดแนวตามแรงโน้มถ่วงเสมอ (If6f11, b/458173423)
  • เพิ่มโอเวอร์โหลด Session.create เพื่ออนุญาตให้ส่ง Context ของ Android สำหรับการกำหนดขอบเขตทรัพยากร (I7d3fe, b/415805990, b/477386334)
  • เพิ่ม JvmOverloads ไปยัง FloatSize2d.to3d, Matrix3.copy และ Matrix4.copy (I69586, b/481371562)
  • เพิ่มความสามารถในการตั้งค่าหมวดหมู่สำหรับการติดตาม AugmentedObject ในการกำหนดค่า (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 โดยใช้ Context, Session และ 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 ออกแล้ว เมธอดเหล่านี้ซ้ำซ้อนเนื่องจากระบบจะปรับ Quaternions ทั้งหมดให้เป็นมาตรฐานในเวลาที่สร้าง และเนื่องจากคลาสนี้เปลี่ยนแปลงไม่ได้ (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)
  • เพิ่ม ConfigMode.isSupported API ใหม่สำหรับการค้นหาความสามารถของเซสชัน (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)
  • เปลี่ยนโอเปอเรเตอร์คูณสำหรับ 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 vals เพื่อให้สอดคล้องกับลักษณะการทำงานของ Config (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)
  • ย้ายโครูทีนไปที่ :xr:runtime:runtime-guava และโฟลว์ไปที่ :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กับเนื้อหาเสมือนได้
  • ตอนนี้ระบบรองรับการระบุการติดตั้งใช้งาน Runtime หลายรายการในเวลาคอมไพล์แล้ว ระบบจะโหลดเพียงรายการเดียวในเวลาที่ดำเนินการโดยอิงตามชุดฟีเจอร์ของอุปกรณ์ปัจจุบัน
  • เพิ่มประเภทคอมโพเนนต์ใหม่ 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.unpersist
  • CoreState ไม่ใช่คลาสข้อมูลอีกต่อไป

การแก้ไขข้อบกพร่อง

  • แก้ไขการกำหนดค่า 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 ที่ใช้ใน Jetpack XR API ทั้งหมด

  • Session: ช่วยให้คุณควบคุมระบบ XR ได้อย่างละเอียด รวมถึงการตัดสินใจว่าจะดำเนินการประมวลผลเมื่อใดและไม่ดำเนินการเมื่อใด รวมถึงการกำหนดค่าโดยรวม นอกจากนี้ยังเป็นแฮนเดิลที่คุณจะใช้ใน API อื่นๆ ทั้งหมดเพื่อปลดล็อกความสามารถของระบบพื้นฐาน

  • Pose: สถานที่ในระบบพิกัดที่กำหนดเองซึ่งมีตำแหน่งและการวางแนวที่เชื่อมโยงอยู่ คุณจะใช้คลาสนี้เพื่อสื่อสารตำแหน่งของออบเจ็กต์กับ ARCore สำหรับ Jetpack XR และ Jetpack SceneCore

ปัญหาที่ทราบ

  • ขณะนี้ configure ยังไม่มีการดำเนินการใดๆ ในรุ่นต่อๆ ไปจะมีการเพิ่มการตั้งค่าใหม่ที่คุณใช้ควบคุมลักษณะการทำงานของ Session ได้