XR Runtime
آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
30 يوليو 2025 | - | - | - | 1.0.0-alpha05 |
تعريف التبعيات
لإضافة تبعية لوقت تشغيل XR، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha05" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha05") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05") }
لمزيد من المعلومات حول العناصر التابعة، يُرجى الاطّلاع على إضافة عناصر تابعة للإنشاء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.0
الإصدار 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
وعناصر Flow إلى: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.
- تمت إضافة طرق Spatial Visibility Callback لتوسيع نطاق المراقبة عند تحرّك محتوى المشهد داخل مجال رؤية المستخدم أو خارجه.
- تمت إضافة نسخة فارغة من
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
.