بيئة تشغيل الواقع الممتد

ابدأ جلسة الواقع المعزّز أو الثلاثي الأبعاد المخصّصة باستخدام وقت التشغيل الأصلي.
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫19 نوفمبر 2025 - - - 1.0.0-alpha08

تحديد الاعتماديات

لإضافة اعتمادية على وقت تشغيل XR، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

dependencies {
    implementation "androidx.xr.runtime:runtime:1.0.0-alpha08"

    // Optional dependencies for asynchronous conversions
    implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha08"
    implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha08"

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

Kotlin

dependencies {
    implementation("androidx.xr.runtime:runtime:1.0.0-alpha08")

    // Optional dependencies for asynchronous conversions
    implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha08")
    implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha08")

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

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.0

الإصدار 1.0.0-alpha08

‫19 نوفمبر 2025

تم طرح androidx.xr.runtime:runtime-*:1.0.0-alpha08. يتضمّن الإصدار 1.0.0-alpha08 هذه التعديلات.

الميزات الجديدة

  • تمت إضافة XrDevice لتقديم معلومات حول إمكانيات الجهاز. (Ic9d1f)
  • تمت إضافة واجهة برمجة تطبيقات ConfigMode.isSupported جديدة للاستعلام عن إمكانات الجلسة. (Iff7af)
  • تمت إضافة واجهة برمجة التطبيقات XrDisplay.BlendMode. (I484e4)

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية [XrDevice.getPreferredBlendMode] إلى [XrDevice.getPreferredDisplayBlendMode]. (I7e48f)

الإصدار 1.0.0-alpha07

‫22 أكتوبر 2025

تم طرح androidx.xr.runtime:runtime-*:1.0.0-alpha07. يتضمّن الإصدار 1.0.0-alpha07 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • إزالة SessionConfigureConfigureNotSupported واستبدالها بـ UnsupportedOperationException (I7680f)

الإصدار 1.0.0-alpha06

‫24 سبتمبر 2025

تم طرح androidx.xr.runtime:runtime-*:1.0.0-alpha06. يتضمّن الإصدار 1.0.0-alpha06 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تم نقل HandJointType إلى xr:arcore:arcore من xr:runtime:runtime. (Iadb9c، b/409058039)
  • تغيير عامل الضرب في componentWiseMultiplication إلى Vector2 وVector3 وVector4 لتوسيع النطاق وإزالة رمز عامل التشغيل لتحقيق التوافق مع مكتبات الرياضيات الأخرى تمت أيضًا إزالة componentWiseDivision من فئات Vector بدلاً من استخدام Vector.scale(otherVector.inverse()). (I8e1f6، b/399146447)
  • إضافة [unscaled] لعرض مصفوفة بمقياس واحد (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 جديدة تمثّل مربّعًا محيطًا متوازيًا مع المحاور في الفضاء الثلاثي الأبعاد، ويتم تحديده من خلال نقاط الزاوية الدنيا والقصوى. (Ic68c5، b/423073468)

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية 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 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (Idb6b5، b/344563182)
  • تم نقل واجهات برمجة التطبيقات المرتبطة بسلاسل البيان من :xr:runtime:runtime إلى :xr:runtime:runtime-manifest. تم تغيير اسم الحزمة من androidx.xr.runtime إلى androidx.xr.runtime.manifest. (I610ad، b/418800249)
  • تمت إزالة Session.resume() وSession.pause() وSession.destroy() من مساحة واجهة برمجة التطبيقات. لم تعُد الجلسة LifecycleOwner. سيتم الآن ربط دورة حياة الجلسة بدورة حياة النشاط الذي تم تمريره في Session.create(). (I28a03)
  • تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية في JSpecify، وهي تعليقات توضيحية خاصة بالاستخدام. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح: -Xjspecify-annotations=strict (هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من مترجم Kotlin البرمجي) (Ia8420، b/326456246)
  • سيحتوي العنصر الرئيسي لوقت التشغيل (:xr:runtime:runtime) على واجهات برمجة تطبيقات غير متزامنة بنمط Kotlin فقط. يمكن لمطوّري Java الاعتماد على :xr:runtime:runtime-guava للوصول إلى واجهات برمجة التطبيقات المتوافقة. (I05d4a، b/426639315)
  • سيحتوي العنصر الرئيسي لوقت التشغيل (:xr:runtime:runtime) على واجهات برمجة تطبيقات غير متزامنة بنمط Kotlin فقط. يمكن لمطوّري Java الاعتماد على مكتبة xr:runtime:runtime-rxjava3 للوصول إلى واجهات برمجة التطبيقات المتوافقة. (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.
  • يمكنك الاطّلاع هنا على السلاسل في ملف البيان لمنصة Android XR.
  • تمت إضافة طرق ملحقة لعمليات رد الاتصال بشأن مدى توفّر المساحة المكانية من أجل تتبُّع وقت انتقال محتوى المشهد إلى داخل مجال رؤية المستخدم أو خارجه.
  • تمت إضافة نسخة فارغة من JxrPlatformAdapter (وجميع الفئات ذات الصلة).
  • سيتم استخدام الجلسة في كل من SceneCore وRuntime بدلاً من الجلسة في SceneCore.
  • تمت إضافة ActivityPose.hitTest، ما يتيح hitTest ضد المحتوى الافتراضي.
  • أصبحت الآن إمكانية تحديد عمليات تنفيذ متعددة لـ Runtime متاحة في وقت الترجمة. سيتم تحميل واحد فقط في وقت التنفيذ استنادًا إلى مجموعة الميزات الحالية للجهاز.
  • تمت إضافة نوع "المكوّن" الجديد SpatialPointerComponent، ما يتيح للعملاء تحديد الأيقونة المعروضة للمؤشر أو إيقاف الأيقونة. يمكن حاليًا ربط هذا المكوّن بـ PanelEntity مثيل فقط.

تغييرات واجهة برمجة التطبيقات

  • إتاحة تنفيذ Config بشكل علني (I95860)
  • أضِف HandJointType وTrackingState. (I55880)
  • تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (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. يجب توفير واحد على الأقل (تتوفّر إصدارات تجريبية).
  • تُصدر الدالة FakePerceptionManager الخطأ AnchorInvalidUuidException عند تمرير معرّف فريد عالمي غير صالح إلى 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.

الميزات الجديدة

  • تمت إضافة ميزة تتبُّع اليد.

إصلاح الأخطاء

  • يكون إنشاء نقاط الارتكاز أكثر استقرارًا عند التشغيل على محاكي

الإصدار 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: يوفّر لك عناصر تحكّم دقيقة في نظام الواقع الممتد، بما في ذلك تحديد وقت تنفيذ المعالجة ووقت عدم تنفيذها والإعدادات العامة. وهو أيضًا المعرّف الذي ستستخدمه في جميع واجهات برمجة التطبيقات الأخرى للاستفادة من إمكانات النظام الأساسية.

  • Pose: موقع جغرافي في نظام إحداثيات عشوائي يتضمّن موضعًا واتجاهًا مرتبطَين به. ستستخدِم هذه الفئة لإرسال معلومات حول موقع العناصر إلى ARCore for Jetpack XR وJetpack SceneCore.

المشاكل المعروفة

  • configure لا يعمل حاليًا، ولكن ستضيف الإصدارات المستقبلية إعدادات جديدة يمكنك استخدامها للتحكّم في سلوك Session.