زمان اجرا XR
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | ۱.۰.۰-rc01 | - | ۱.۱.۰-آلفا۰۱ |
اعلام وابستگیها
برای افزودن یک وابستگی به XR runtime، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل 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" }
کاتلین
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") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۱
نسخه ۱.۱.۰-آلفا۰۱
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیتها است.
تغییرات API
- اضافه کردن SPATIAL_API_V4 به
SpatialApiVersions( I71e7a )
نسخه ۱.۰
نسخه ۱.۰.۰-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
تغییرات رفتاری
نسخه ۱.۰.۰-بتا۰۲
۱۲ آگوست ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این کامیتها است.
رفع اشکالات
- بهبود تشخیص پشتیبانی
OpenXRدر محیطهای شبیهسازی شده. ( Ifec51 ) -
toString()در کلاسهای بیشتری برای اشکالزدایی پیادهسازی شده است. ( I67d83 ) - رفع مشکل کار کردن
XrDeviceTestRuleهنگام ایجادXrDeviceپس از اعمال تنظیمات. ( Ica32c )
نسخه ۱.۰.۰-بتا۰۱
۱۵ ژوئیه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
-
SessionTestRuleبه تست زمان اجرا اضافه شد. این API ( I672bc ، b/516876144 ) - تابع Session.create به یک تابع suspend تبدیل شد. ( I5d27f )
- پشتیبانی از چرخه حیات به
XrDeviceTestRuleاضافه شد ( I2319c ، b/512140272 ) - حاشیهنویسی آزمایشیِ استفاده نشدهی
ExperimentalXrDeviceLifecycleApiحذف شد. ( I46d95 ) - برای تعدادی از انواع زمان اجرا، override های تخصصی
toString()را اضافه کنید. این نوعها برای ارائه اطلاعات اضافی به توسعهدهندگان جهت اشکالزدایی در نظر گرفته شدهاند و برای استفاده در برنامههای کاربردی تولید شده یا ارسال شده در نظر گرفته نشدهاند.
رفع اشکالات
- ترازبندی جهت رو به جلوی Pose.fromLookAt
fromLookAtشد، استخراج مقیاس در Matrix3 اصلاح شد وNaNsعددی در نرمال سازی، تبدیل زاویه محور و محاسباتangleBetweenجلوگیری شد. ( I7a3b5 ، b/367780918 )
نسخه ۱.۰.۰-آلفا۱۵
۱۷ ژوئن ۲۰۲۶
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 ) - API
QrCodeاضافه شد ( Ia0bbe )
نسخه ۱.۰.۰-آلفا۱۴
۱۹ مه ۲۰۲۶
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به APIConfig( I0cf09 ) اضافه کنید
نسخه ۱.۰.۰-آلفا۱۳
۶ مه ۲۰۲۶
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 ) - API
NativeDataبه کتابخانهxr:runtime:runtimeمنتقل شد. ( I87954 ، b/494251500 ) -
Session.createوSession.configureاکنون غیر جامع هستند و در دستورات when به عبارت else نیاز دارند. ( I9885e ، b/495805998 ، b/495805998 ) -
androidx.xr.runtime.FieldOfViewمنسوخ شده است. به جای آنandroidx.xr.runtime.math.FieldOfViewاستفاده کنید. ( Ia01a0 , b/480233045 ) -
Matrix4.poseبهMatrix4.toPose()تغییر نام داده است. ویژگی pose اکنون منسوخ شده است. ( I329b4 , b/493383490 ) - رابط برنامهنویسی کاربردی
XrServiceAvailabilityاضافه شد ( 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 ) - رابط برنامهنویسی کاربردی
XrLogاضافه شد. برای فعال کردن ثبت وقایع در JetpackXR، مقدارXrLog.isEnabledرا رویtrueتنظیم کنید و از [XrLog.Level] برای تنظیم سطح ثبت وقایع استفاده کنید. ( I76a1f ، b/463460895 ، b/487378441 ) - با اضافه کردن
DISPLAY_CATEGORY_XR_PROJECTED، این ثابت در فایل Manifest استفاده میشود تا نشان دهد که فعالیت برای نمایش XR در نظر گرفته شده است ( I26d8b )
نسخه ۱.۰.۰-آلفا۱۲
۲۵ مارس ۲۰۲۶
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اضافه شد تا امکان ارسال یک Android Context برای محدودهبندی منابع فراهم شود. ( 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 )
نسخه ۱.۰.۰-آلفا۱۱
۲۵ فوریه ۲۰۲۶
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برای کمک به جستجوی نسخه زمان اجرای اندروید XR موجود در پلتفرم اضافه شد. ( I7c53c ) -
xr:runtime:runtime-openxr( Ib42ea ) اضافه شد.
نسخه ۱.۰.۰-آلفا۱۰
۲۸ ژانویه ۲۰۲۶
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 )
نسخه ۱.۰.۰-آلفا۰۹
۳ دسامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۸
۱۹ نوامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
-
XrDeviceبرای ارائه اطلاعات در مورد قابلیتهای دستگاه اضافه شد. ( Ic9d1f ) - API جدید
ConfigMode.isSupportedبرای پرسوجو از قابلیتهای جلسه اضافه شد. ( Iff7af ) - رابط برنامهنویسی کاربردی
XrDisplay.BlendModeاضافه شد. ( I484e4 )
تغییرات API
- [XrDevice.getPreferredBlendMode] به [XrDevice.getPreferredDisplayBlendMode] تغییر نام داد ( I7e48f )
نسخه ۱.۰.۰-آلفا۰۷
۲۲ اکتبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
تغییرات API
-
SessionConfigureConfigureNotSupportedحذف کرده و آن را باUnsupportedOperationException( I7680f ) جایگزین کنید.
نسخه ۱.۰.۰-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
تغییرات API
-
HandJointTypeاز xr:xr:runtime:runtimexr:arcore:arcoreمنتقل شده است ( 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 )
نسخه ۱.۰.۰-آلفا۰۵
۳۰ ژوئیه ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
-
HandJointTypeوTrackingStateاضافه کنید. ( I55880 ، b/334645808 ) - پیادهسازی پیکربندی را عمومی کنید. ( I95860 ، b/334645808 )
- انواع جدید
SessionCreateResultوSessionConfigureResultمعرفی شدند. ( Icb8cb ، b/334645808 ) - یک کلاس
BoundingBoxجدید اضافه کنید که یک جعبهی محصورکنندهی تراز محور را در فضای سهبعدی نشان میدهد و با نقاط گوشهی حداقل و حداکثر آن تعریف میشود. ( 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 ) - یک overload اضافی برای
Session.createاضافه شده است که میتواند یکLifecycleOwnerبرای Session جهت اتصال به آن فراهم کند. توجه داشته باشید که همچنان برای مالکیت منابع، یک Activity باید ارائه شود وLifecycleOwnerباید در Activity تعریف شود. ( I1690b ) - تغییر نام
FakeRuntimeAnchor.anchorsCreatedبهanchorsCreatedCount( I96df9 ، b/424441218 ) - پیکربندی
*Modeبرای انعکاس رفتارشان تغییر نام داده شدهاند. ( I6d247 ، b/414648065 ) - پروژههای منتشر شده با کاتلین ۲.۰ برای استفاده به 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 حذف شدهاند. Session دیگرLifecycleOwnerنیست. چرخه حیات Session اکنون به چرخه حیات Activity ارسال شده درSession.create()متصل خواهد شد. ( I28a03 ) - این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر Kotlin شروع میشود) ( Ia8420 ، b/326456246 ) - مصنوع اصلی زمان اجرا (
:xr:runtime:runtime) فقط شامل APIهای ناهمزمان به سبک Kolin خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به:xr:runtime:runtime-guavaوابسته باشند. ( I05d4a , b/426639315 ) - مصنوع اصلی زمان اجرا (
:xr:runtime:runtime) فقط شامل APIهای ناهمزمان به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانهxr:runtime:runtime-rxjava3وابسته باشند. ( I64122 , b/426639775 ) - Coroutineها را به
:xr:runtime:runtime-guavaو Flowها را به:xr:runtime:runtime-rxjava3منتقل کنید ( I60ae9 ) -
Session.createوSession.configureاکنون در صورت عدم اعطای مجوزهای کافی، به جای بازگرداندنSessionCreatePermissionsNotGrantedیاSessionConfigurePermissionsNotGranted، خطایSecurityExceptionرا صادر میکنند ( I7c488 ، b/430651879 ).
نسخه ۱.۰.۰-آلفا۰۴
۷ مه ۲۰۲۵
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را برای قابلیت همکاری بیشتر با الگوهای چرخه حیات اندروید موجود، پیادهسازی میکند. - رشتههای مانیفست برای اندروید XR در اینجا مشخص و مستند شدهاند.
- متدهای افزونهی فراخوانی قابلیت دید مکانی (Spatial Visibility) برای نظارت بر حرکت محتوای صحنه در داخل یا خارج از میدان دید کاربر اضافه شدهاند.
- یک نسخهٔ خام از
JxrPlatformAdapter(و تمام کلاسهای مرتبط با آن) اضافه شد. - به جای Session در
SceneCoreاز Session درSceneCoreو Runtime استفاده خواهد شد. -
ActivityPose.hitTestاضافه شد که امکانhitTestدر برابر محتوای مجازی فراهم میکند. - اکنون پشتیبانی از چندین پیادهسازی زمان اجرا در زمان کامپایل امکانپذیر است. فقط یکی از آنها در زمان اجرا بر اساس مجموعه ویژگیهای دستگاه فعلی بارگذاری خواهد شد.
- نوع کامپوننت جدید
SpatialPointerComponentاضافه شده است که به کلاینتها اجازه میدهد آیکون رندر شده برای اشارهگر را مشخص کنند یا آیکون را غیرفعال کنند. این کامپوننت در حال حاضر فقط میتواند به نمونههایPanelEntityمتصل شود.
تغییرات API
- پیادهسازی پیکربندی را عمومی کنید. ( I95860 )
- اضافه کردن
HandJointTypeوTrackingState. ( I55880 ) - پروژههای منتشر شده با کاتلین ۲.۰ برای استفاده به 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فراخوانی کرد تا ویژگیهای زمان اجرا (runtime) موجود را پیکربندی کند. -
Session.createاکنون از ارسالCoroutineContextبه جایCoroutineDispatcherپشتیبانی میکند. -
Session.createاز بارگذاریARCoreبرای Jetpack XR و/یاSceneCoreپشتیبانی میکند. حداقل یکی باید ارائه شود (نسخههای آزمایشی موجود است). -
FakePerceptionManagerوقتی یک UUID نامعتبر بهAnchor.loadوAnchor.unpersistارسال شود، خطایAnchorInvalidUuidExceptionصادر میکند. -
CoreStateدیگر یک کلاس داده نیست.
رفع اشکالات
- تنظیمات پروگارد زمان اجرا اصلاح شد.
نسخه ۱.۰.۰-آلفا۰۳
۲۶ فوریه ۲۰۲۵
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 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۲
۱۲ فوریه ۲۰۲۵
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 برمیگردانند، اکنون در صورت مواجهه با کد خطایی که اعلام میکند به محدودیت منابعOpenXRرسیدهایم،AnchorResourcesExhaustedExceptionصادر میکنند. - مجوز
android.permission.HAND_TRACKINGاکنون برایSession.createوSession.resumeالزامی است.
ویژگیهای جدید
- پشتیبانی از ردیابی دست اضافه شد.
رفع اشکالات
- ایجاد anchorها هنگام اجرا روی یک شبیهساز پایدارتر است
نسخه ۱.۰.۰-آلفا۰۱
۱۲ دسامبر ۲۰۲۴
androidx.xr.runtime:runtime-* 1.0.0-alpha01 منتشر شد.
ویژگیهای انتشار اولیه
انتشار اولیه Jetpack XR Runtime. این کتابخانه شامل بخشهای اساسی از قابلیتهای مجموعه کتابخانههای Jetpack XR است. این شامل کشف قابلیتها، مدیریت چرخه عمر، پیکربندی و موارد دیگر میشود. کتابخانه Runtime بسته به پلتفرم اجرا، انواع مختلفی (مثلاً runtime-openxr یا runtime-testing ) را ارائه میدهد. علاوه بر این، این کتابخانه انتزاعهای ریاضی اساسی مانند Vector3 و Matrix4 را ارائه میدهد که در کل سطح API Jetpack XR استفاده میشوند.
Session): کنترلهای دقیقی بر سیستم XR، از جمله تصمیمگیری در مورد زمان اجرا و عدم اجرای پردازش و پیکربندی کلی، در اختیار شما قرار میدهد. همچنین، این بخش، اهرمی است که شما در تمام APIهای دیگر برای آزادسازی قابلیتهای اساسی سیستم از آن استفاده خواهید کرد.Pose: مکانی در یک سیستم مختصات دلخواه که دارای موقعیت و جهتگیری مرتبط با آن است. شما از این کلاس برای ارتباط مکان اشیاء با ARCore برای Jetpack XR و Jetpack SceneCore استفاده خواهید کرد.
مشکلات شناخته شده
-
configureدر حال حاضر غیرفعال است. در نسخههای آینده تنظیمات جدیدی اضافه خواهد شد که میتوانید برای کنترل رفتارSessionاز آنها استفاده کنید.
زمان اجرا XR
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | ۱.۰.۰-rc01 | - | ۱.۱.۰-آلفا۰۱ |
اعلام وابستگیها
برای افزودن یک وابستگی به XR runtime، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل 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" }
کاتلین
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") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۱
نسخه ۱.۱.۰-آلفا۰۱
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.1.0-alpha01 منتشر شد. نسخه 1.1.0-alpha01 شامل این کامیتها است.
تغییرات API
- اضافه کردن SPATIAL_API_V4 به
SpatialApiVersions( I71e7a )
نسخه ۱.۰
نسخه ۱.۰.۰-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
تغییرات رفتاری
نسخه ۱.۰.۰-بتا۰۲
۱۲ آگوست ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این کامیتها است.
رفع اشکالات
- بهبود تشخیص پشتیبانی
OpenXRدر محیطهای شبیهسازی شده. ( Ifec51 ) -
toString()در کلاسهای بیشتری برای اشکالزدایی پیادهسازی شده است. ( I67d83 ) - رفع مشکل کار کردن
XrDeviceTestRuleهنگام ایجادXrDeviceپس از اعمال تنظیمات. ( Ica32c )
نسخه ۱.۰.۰-بتا۰۱
۱۵ ژوئیه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
-
SessionTestRuleبه تست زمان اجرا اضافه شد. این API ( I672bc ، b/516876144 ) - تابع Session.create به یک تابع suspend تبدیل شد. ( I5d27f )
- پشتیبانی از چرخه حیات به
XrDeviceTestRuleاضافه شد ( I2319c ، b/512140272 ) - حاشیهنویسی آزمایشیِ استفاده نشدهی
ExperimentalXrDeviceLifecycleApiحذف شد. ( I46d95 ) - برای تعدادی از انواع زمان اجرا، override های تخصصی
toString()را اضافه کنید. این نوعها برای ارائه اطلاعات اضافی به توسعهدهندگان جهت اشکالزدایی در نظر گرفته شدهاند و برای استفاده در برنامههای کاربردی تولید شده یا ارسال شده در نظر گرفته نشدهاند.
رفع اشکالات
- ترازبندی جهت رو به جلوی Pose.fromLookAt
fromLookAtشد، استخراج مقیاس در Matrix3 اصلاح شد وNaNsعددی در نرمال سازی، تبدیل زاویه محور و محاسباتangleBetweenجلوگیری شد. ( I7a3b5 ، b/367780918 )
نسخه ۱.۰.۰-آلفا۱۵
۱۷ ژوئن ۲۰۲۶
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 ) - API
QrCodeاضافه شد ( Ia0bbe )
نسخه ۱.۰.۰-آلفا۱۴
۱۹ مه ۲۰۲۶
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به APIConfig( I0cf09 ) اضافه کنید
نسخه ۱.۰.۰-آلفا۱۳
۶ مه ۲۰۲۶
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 ) - API
NativeDataبه کتابخانهxr:runtime:runtimeمنتقل شد. ( I87954 ، b/494251500 ) -
Session.createوSession.configureاکنون غیر جامع هستند و در دستورات when به عبارت else نیاز دارند. ( I9885e ، b/495805998 ، b/495805998 ) -
androidx.xr.runtime.FieldOfViewمنسوخ شده است. به جای آنandroidx.xr.runtime.math.FieldOfViewاستفاده کنید. ( Ia01a0 , b/480233045 ) -
Matrix4.poseبهMatrix4.toPose()تغییر نام داده است. ویژگی pose اکنون منسوخ شده است. ( I329b4 , b/493383490 ) - رابط برنامهنویسی کاربردی
XrServiceAvailabilityاضافه شد ( 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 ) - رابط برنامهنویسی کاربردی
XrLogاضافه شد. برای فعال کردن ثبت وقایع در JetpackXR، مقدارXrLog.isEnabledرا رویtrueتنظیم کنید و از [XrLog.Level] برای تنظیم سطح ثبت وقایع استفاده کنید. ( I76a1f ، b/463460895 ، b/487378441 ) - با اضافه کردن
DISPLAY_CATEGORY_XR_PROJECTED، این ثابت در فایل Manifest استفاده میشود تا نشان دهد که فعالیت برای نمایش XR در نظر گرفته شده است ( I26d8b )
نسخه ۱.۰.۰-آلفا۱۲
۲۵ مارس ۲۰۲۶
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اضافه شد تا امکان ارسال یک Android Context برای محدودهبندی منابع فراهم شود. ( 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 )
نسخه ۱.۰.۰-آلفا۱۱
۲۵ فوریه ۲۰۲۶
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برای کمک به جستجوی نسخه زمان اجرای اندروید XR موجود در پلتفرم اضافه شد. ( I7c53c ) -
xr:runtime:runtime-openxr( Ib42ea ) اضافه شد.
نسخه ۱.۰.۰-آلفا۱۰
۲۸ ژانویه ۲۰۲۶
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 )
نسخه ۱.۰.۰-آلفا۰۹
۳ دسامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۸
۱۹ نوامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
-
XrDeviceبرای ارائه اطلاعات در مورد قابلیتهای دستگاه اضافه شد. ( Ic9d1f ) - API جدید
ConfigMode.isSupportedبرای پرسوجو از قابلیتهای جلسه اضافه شد. ( Iff7af ) - رابط برنامهنویسی کاربردی
XrDisplay.BlendModeاضافه شد. ( I484e4 )
تغییرات API
- [XrDevice.getPreferredBlendMode] به [XrDevice.getPreferredDisplayBlendMode] تغییر نام داد ( I7e48f )
نسخه ۱.۰.۰-آلفا۰۷
۲۲ اکتبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
تغییرات API
-
SessionConfigureConfigureNotSupportedحذف کرده و آن را باUnsupportedOperationException( I7680f ) جایگزین کنید.
نسخه ۱.۰.۰-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
تغییرات API
-
HandJointTypeاز xr:xr:runtime:runtimexr:arcore:arcoreمنتقل شده است ( 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 )
نسخه ۱.۰.۰-آلفا۰۵
۳۰ ژوئیه ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha05 منتشر شد. نسخه 1.0.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
-
HandJointTypeوTrackingStateاضافه کنید. ( I55880 ، b/334645808 ) - پیادهسازی پیکربندی را عمومی کنید. ( I95860 ، b/334645808 )
- انواع جدید
SessionCreateResultوSessionConfigureResultمعرفی شدند. ( Icb8cb ، b/334645808 ) - یک کلاس
BoundingBoxجدید اضافه کنید که یک جعبهی محصورکنندهی تراز محور را در فضای سهبعدی نشان میدهد و با نقاط گوشهی حداقل و حداکثر آن تعریف میشود. ( 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 ) - یک overload اضافی برای
Session.createاضافه شده است که میتواند یکLifecycleOwnerبرای Session جهت اتصال به آن فراهم کند. توجه داشته باشید که همچنان برای مالکیت منابع، یک Activity باید ارائه شود وLifecycleOwnerباید در Activity تعریف شود. ( I1690b ) - تغییر نام
FakeRuntimeAnchor.anchorsCreatedبهanchorsCreatedCount( I96df9 ، b/424441218 ) - پیکربندی
*Modeبرای انعکاس رفتارشان تغییر نام داده شدهاند. ( I6d247 ، b/414648065 ) - پروژههای منتشر شده با کاتلین ۲.۰ برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند ( Idb6b5 ، b/344563182 )
- APIs related to manifest strings have been moved from
:xr:runtime:runtimeto:xr:runtime:runtime-manifest. The package name has changed fromandroidx.xr.runtimetoandroidx.xr.runtime.manifest. ( I610ad , b/418800249 ) -
Session.resume(),Session.pause(), andSession.destroy()have been removed from the API surface. Session is no longer aLifecycleOwner. The Session's lifecycle will now be attached to the lifecycle of the Activity passed inSession.create(). ( I28a03 ) - This library now uses JSpecify nullness annotations , which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler) ( Ia8420 , b/326456246 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kolin-style async APIs. Java developers can depend on:xr:runtime:runtime-guavato access compatible APIs. ( I05d4a , b/426639315 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kotlin-style async APIs. Java developers can depend on thexr:runtime:runtime-rxjava3library to access compatible APIs. ( I64122 , b/426639775 ) - Move Coroutines to
:xr:runtime:runtime-guavaand Flows to:xr:runtime:runtime-rxjava3. ( I60ae9 ) -
Session.createandSession.configurenow throwSecurityExceptionwhen sufficient permissions have not been granted instead of returningSessionCreatePermissionsNotGrantedorSessionConfigurePermissionsNotGranted. ( I7c488 , b/430651879 )
Version 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .
ویژگیهای جدید
- Session now implements
androidx.lifecycle.LifecycleOwnerfor more interoperability with existing Android lifecycle paradigms. - Manifest strings for Android XR are specified and documented here.
- Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
- Added a stub version of the
JxrPlatformAdapter(and all its related classes). - Session will be used in both
SceneCoreand Runtime instead of the Session inSceneCore. -
ActivityPose.hitTestwas added, enabling ahitTestagainst virtual content. - Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
- Added new Component type
SpatialPointerComponent, allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached toPanelEntityinstances only.
API Changes
- Make Config implementation public. ( I95860 )
- Add
HandJointTypeandTrackingState. ( I55880 ) - Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
-
Hand.isActive (boolean)has been changed toHand.trackingState. TheOpenXRimplementation has been modified accordingly. -
android.permission.SCENE_UNDERSTANDINGpermission requirement inSession.configurehas been changed toandroid.permission.SCENE_UNDERSTANDING_COARSE. -
LifecycleManager.configureis implemented and now passes in aConfigobject which contains a property for each configurable runtime feature. -
Session.configurecan now be called with aConfigin order to configure the available runtime features. -
Session.createnow supports passing aCoroutineContextinstead of aCoroutineDispatcher. -
Session.createsupports loadingARCorefor Jetpack XR and/orSceneCore. At least one must be provided (testing versions are available). -
FakePerceptionManagerthrows anAnchorInvalidUuidExceptionwhen an invalid UUID is passed toAnchor.loadandAnchor.unpersist. -
CoreStateis no longer a data class.
رفع اشکالات
- Fixed Runtime proguard configurations.
Version 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .
Breaking & behavioral changes
-
OpenXRruntime functions that return an Anchor now throwAnchorResourcesExhaustedExceptionif they encounter an error code notifying that theOpenXRresource limit has been reached. - Permission
android.permission.HAND_TRACKINGis now required forSession.createandSession.resume.
ویژگیهای جدید
- Added hand tracking support.
Bug fixes
- Creating anchors is more stable when running on an emulator
Version 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.
Features of Initial Release
Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.
Session: Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.Pose: A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.
مشکلات شناخته شده
-
configureis currently a no-op. Future releases will add new settings that you can use to control the behavior of theSession.
XR Runtime
| آخرین بهروزرسانی | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | 1.0.0-rc01 | - | 1.1.0-alpha01 |
Declaring dependencies
To add a dependency on XR runtime, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for your app or module:
شیار
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" }
کاتلین
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") }
For more information about dependencies, see Add build dependencies .
بازخورد
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.1
Version 1.1.0-alpha01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits .
API Changes
- Add SPATIAL_API_V4 to
SpatialApiVersions( I71e7a )
Version 1.0
Version 1.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Behavior Changes
Version 1.0.0-beta02
August 12, 2026
androidx.xr.runtime:runtime-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
Bug fixes
- Improved the detection of
OpenXRsupport in emulated environments. ( Ifec51 ) - Implemented
toString()in more classes for debugging. ( I67d83 ) - Fix
XrDeviceTestRuleto work whenXrDeviceis created after applying settings. ( Ica32c )
Version 1.0.0-beta01
July 15, 2026
androidx.xr.runtime:runtime-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
API Changes
- Added
SessionTestRuleto runtime-testing. This API ( I672bc , b/516876144 ) - Converted Session.create to a suspend function. ( I5d27f )
- Added support for the lifecycle to the
XrDeviceTestRule( I2319c , b/512140272 ) - Removed unused
ExperimentalXrDeviceLifecycleApiexperimental opt-in annotation. ( I46d95 ) - Add specialized overrides of
toString()for a number of runtime types. These types are intended to provide additional information to developers for debugging purposes and are not intended to be used in production or shipped applications.
رفع اشکالات
- Fixed Pose.
fromLookAtforward direction alignment, corrected scale extraction in Matrix3, and prevented numericalNaNsin normalization, axis-angle conversion, andangleBetweencalculations. ( I7a3b5 , b/367780918 )
Version 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
API Changes
- Added test API for
isProjectedServiceAvailable()( I44ba1 ) - Exposed
DeviceTrackingMode.INERTIALas a public experimental API under the new@ExperimentalInertialTrackingApiannotation. ( Ic3df3 ) - Added
Config.Builder. Apps can create custom configurations by calling setter functions on the builder object and then callingBuilder.build. ( I13142 ) -
androidx.xr.runtime.FieldOfViewhas been removed. Apps should useandroidx.xr.runtime.math.FieldOfViewinstead. ( I621ef ) -
Session.createis now required to be ran on a@WorkerThread. ( I2169e ) - Added
isProjectedServiceAvailable()to theXrDevice( I507e9 ) - Renaming
DeviceTrackingMode.SPATIAL_LAST_KNOWNtoDeviceTrackingMode.SPATIALandDeviceTrackingMode.INERTIAL_LAST_KNOWNtoDeviceTrackingMode.INERTIAL( I96f8b ) -
Vector3.angleBetweenandVector4.angleBetweennow return degrees rather than radians. ( Ica8bc ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .
API Changes
- Deprecating
GeospatialMode.VPS_AND_GPSin favor ofGeospatialMode.SPATIALand introducing a new lower-power tracking mode,GeospatialMode.INERTIAL, which uses only IMU and GPS. ( I1e6cd ) - Removes deprecation tag on
androidx.xr.runtime.FieldOfView. Makesandroidx.xr.runtime.math.FieldOfViewa type aliaas ofandroidx.xr.runtime.FieldOfViewin preparation for the latter's removal in the next release. Clients must migrate to theandroidx.xr.runtime.mathversion wherever they are using theandroidx.xr.runtimeversion. ( I6ce15 ) - Added the
PreviewProjectedApiannotation ( Ic49f6 ) - Removed
AugmentedObjectCategory.allSupported( I08656 ) - Adding APIs in
XrDevicefor determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 ) -
Session.getNativeDatahas been replaced withXrDevice.getNativeInstanceDataandSession.getNativeSessionData. ( Ieb077 ) - Annotated
DeviceTrackingMode.INERTIAL_LAST_KNOWNwith@PreviewSpatialApi. ( I99868 ) - Added
XrDeviceTestRulefor its use in unit tests. ( I87584 ) - Adding
CATEGORY_XR_PROJECTED_LAUNCHER, this constant is used in the Manifest file to indicate the activity should be discovered as a launcher by the system. ( Ia3069 )
External Contribution
- Add
AugmentedImageModeto theConfigAPI ( I0cf09 )
Version 1.0.0-alpha13
May 06, 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .
API Changes
-
TrackingStateandVpsAvailabilityResulthave moved to theandroidx.xr.arcore package, and the types inandroidx.xr.runtimeare now deprecated. ( Ic7930 , b/480462213 ) -
Session.getNativeData()is now defined thexr:runtime:runtimemodule and provides [nativeFunctionTablePointer] for OpenXR-backed runtimes. ( Ifa862 ) - Moved
NativeDataAPI toxr:runtime:runtimelibrary. ( I87954 , b/494251500 ) -
Session.createandSession.configureare now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewhas been deprecated. Useandroidx.xr.runtime.math.FieldOfViewinstead. ( Ia01a0 , b/480233045 ) -
Matrix4.posehas been renamed toMatrix4.toPose(). The pose property is now deprecated. ( I329b4 , b/493383490 ) - Added the
XrServiceAvailabilityAPI ( If379e , b/493558010 ) - Added the
ExperimentalXrServiceAvailabilityApiannotation ( Icab49 , b/491069725 ) - Remove the suffix for
@PreviewSpatialApi( If5242 , b/491939311 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and use [XrLog.Level] to set the log level. ( I76a1f , b/463460895 , b/487378441 ) - Adding
DISPLAY_CATEGORY_XR_PROJECTED, this constant is used in the Manifest file to indicate the activity is meant for a XR projected display ( I26d8b )
Version 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .
API Changes
- Changed
Config.augmentedObjectCategoriesfrom a List to a Set, ( I25a64 , b/487376359 ) - Removed
unscaledGravityAlignedActivitySpaceflag fromSession.create.ActivitySpaceis always unscaled and gravity-aligned now. ( If6f11 , b/458173423 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Added
JvmOverloadstoFloatSize2d.to3d,Matrix3.copy, andMatrix4.copy( I69586 , b/481371562 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 ) - Added
xr:runtime:runtime-interfacesmodule. ( I52ac6 , b/461561664 )
Version 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
API Changes
- Restricted
ConfigModeinterface to internal use ( Ibfb87 ) - Moved
androidx.xr.runtime.Config.GeospatialModeto package level ( Ibe682 ) - Moved
androidx.xr.runtime.Config.FaceTrackingModeto package level ( Iac501 ) - Moved
androidx.xr.runtime.Config.AnchorPersistenceModeto package level ( I0360f ) - Moved
androidx.xr.runtime.Config.DepthEstimationModeto package level ( I7e3e9 ) - Moved
androidx.xr.runtime.Config.DeviceTrackingModeto package level ( I3aacd ) - Moved
androidx.xr.runtime.Config.HandTrackingModeto package level ( I658f3 ) - Moved
androidx.xr.runtime.Config.PlaneTrackingModeto package level ( Ia251b ) - Moved
androidx.xr.runtime.XrDevice.DisplayBlendModeto package level ( I6f333 ) - Added a factory method to create an
XrDeviceusing a Context, Session and aCoroutineContext. ( I139c5 ) - Added
SpatialApiVersionHelperto help query the runtime version of Android XR available on the platform. ( I7c53c ) - Added
xr:runtime:runtime-openxrmodule ( Ib42ea )
Version 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
API Changes
-
ConfigMode.HeadTrackingModeis replaced withConfigMode.DeviceTrackingMode. ( le273e , b/467150206 ) - Removed Quaternion's
toNormalized,times(float),div(float)methods. These methods are redundant given that all Quaternions are normalized at construction time and given that the class is immutable. ( l558fc , b/460210457 )
رفع اشکالات
- Added documentation to
Session.createthat illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 ) - Prevented applications from creating a
BoundingBoxwith aNaNvalue. ( l58c14 , b/464025895 )
Version 1.0.0-alpha09
December 03, 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
۱۹ نوامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
ویژگیهای جدید
-
XrDeviceadded to provide information about device capabilities. ( Ic9d1f ) - Added new
ConfigMode.isSupportedAPI for querying session capabilities. ( Iff7af ) - Added
XrDisplay.BlendModeAPI. ( I484e4 )
API Changes
- Renamed [XrDevice.getPreferredBlendMode] to [XrDevice.getPreferredDisplayBlendMode]. ( I7e48f )
Version 1.0.0-alpha07
۲۲ اکتبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
API Changes
- Remove
SessionConfigureConfigureNotSupportedand replace it withUnsupportedOperationException. ( I7680f )
Version 1.0.0-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
API Changes
-
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) - Changing the times operator for
componentWiseMultiplicationforVector2,Vector3,Vector4to scale and removing the operator symbol for consistency with other math libraries. Also removingcomponentWiseDivisionfrom the Vector classes in lieu of usingVector.scale(otherVector.inverse()). ( I8e1f6 , b/399146447 ) - Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
-
:xr:runtime:runtime-guavawill be removed asCoroutines.kthas been replaced withSuspendtoFutureAdapter. ( I0cd3c , b/406597902 )
Version 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .
ویژگیهای جدید
- Add
HandJointTypeandTrackingState. ( I55880 , b/334645808 ) - Make Config implementation public. ( I95860 , b/334645808 )
- Introduced new
SessionCreateResultandSessionConfigureResulttypes. ( Icb8cb , b/334645808 ) - Add a new
BoundingBoxclass that represents an axis-aligned bounding box in 3D space, defined by its minimum and maximum corner points. ( Ic68c5 , b/423073468 )
API Changes
- Renamed and moved
androidx.xr.scenecore.PixelDimensionstoandroidx.xr.runtime.math.IntSize2d. Renamed and movedandroidx.xr.scenecore.Dimensionstoandroidx.xr.runtime.math.FloatSize3d. Renamedandroidx.xr.scenecore.PlaneTypetoandroidx.xr.scenecore.PlaneOrientation. Renamedandroidx.xr.scenecore.PlaneSemantictoandroidx.xr.scenecore.PlaneSemanticType. ( Ifd405 , b/416456228 ) - Removed
androidx.xr.runtime.FoVclass. Useandroidx.xr.runtime.FieldOfViewinstead. ( I9ae27 ) - Added an additional overload for
Session.createwhich can provide aLifecycleOwnerfor the Session to attach to. Note that an Activity will still need to be provided for resource ownership and theLifecycleOwnermust be scoped within the Activity. ( I1690b ) - Renamed
FakeRuntimeAnchor.anchorsCreatedtoanchorsCreatedCount( I96df9 , b/424441218 ) - Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 , b/344563182 )
- APIs related to manifest strings have been moved from
:xr:runtime:runtimeto:xr:runtime:runtime-manifest. The package name has changed fromandroidx.xr.runtimetoandroidx.xr.runtime.manifest. ( I610ad , b/418800249 ) -
Session.resume(),Session.pause(), andSession.destroy()have been removed from the API surface. Session is no longer aLifecycleOwner. The Session's lifecycle will now be attached to the lifecycle of the Activity passed inSession.create(). ( I28a03 ) - This library now uses JSpecify nullness annotations , which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler) ( Ia8420 , b/326456246 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kolin-style async APIs. Java developers can depend on:xr:runtime:runtime-guavato access compatible APIs. ( I05d4a , b/426639315 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kotlin-style async APIs. Java developers can depend on thexr:runtime:runtime-rxjava3library to access compatible APIs. ( I64122 , b/426639775 ) - Move Coroutines to
:xr:runtime:runtime-guavaand Flows to:xr:runtime:runtime-rxjava3. ( I60ae9 ) -
Session.createandSession.configurenow throwSecurityExceptionwhen sufficient permissions have not been granted instead of returningSessionCreatePermissionsNotGrantedorSessionConfigurePermissionsNotGranted. ( I7c488 , b/430651879 )
Version 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .
ویژگیهای جدید
- Session now implements
androidx.lifecycle.LifecycleOwnerfor more interoperability with existing Android lifecycle paradigms. - Manifest strings for Android XR are specified and documented here.
- Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
- Added a stub version of the
JxrPlatformAdapter(and all its related classes). - Session will be used in both
SceneCoreand Runtime instead of the Session inSceneCore. -
ActivityPose.hitTestwas added, enabling ahitTestagainst virtual content. - Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
- Added new Component type
SpatialPointerComponent, allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached toPanelEntityinstances only.
API Changes
- Make Config implementation public. ( I95860 )
- Add
HandJointTypeandTrackingState. ( I55880 ) - Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
-
Hand.isActive (boolean)has been changed toHand.trackingState. TheOpenXRimplementation has been modified accordingly. -
android.permission.SCENE_UNDERSTANDINGpermission requirement inSession.configurehas been changed toandroid.permission.SCENE_UNDERSTANDING_COARSE. -
LifecycleManager.configureis implemented and now passes in aConfigobject which contains a property for each configurable runtime feature. -
Session.configurecan now be called with aConfigin order to configure the available runtime features. -
Session.createnow supports passing aCoroutineContextinstead of aCoroutineDispatcher. -
Session.createsupports loadingARCorefor Jetpack XR and/orSceneCore. At least one must be provided (testing versions are available). -
FakePerceptionManagerthrows anAnchorInvalidUuidExceptionwhen an invalid UUID is passed toAnchor.loadandAnchor.unpersist. -
CoreStateis no longer a data class.
رفع اشکالات
- Fixed Runtime proguard configurations.
Version 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .
Breaking & behavioral changes
-
OpenXRruntime functions that return an Anchor now throwAnchorResourcesExhaustedExceptionif they encounter an error code notifying that theOpenXRresource limit has been reached. - Permission
android.permission.HAND_TRACKINGis now required forSession.createandSession.resume.
ویژگیهای جدید
- Added hand tracking support.
Bug fixes
- Creating anchors is more stable when running on an emulator
Version 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.
Features of Initial Release
Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.
Session: Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.Pose: A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.
مشکلات شناخته شده
-
configureis currently a no-op. Future releases will add new settings that you can use to control the behavior of theSession.
XR Runtime
| آخرین بهروزرسانی | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | 1.0.0-rc01 | - | 1.1.0-alpha01 |
Declaring dependencies
To add a dependency on XR runtime, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for your app or module:
شیار
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" }
کاتلین
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") }
For more information about dependencies, see Add build dependencies .
بازخورد
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.1
Version 1.1.0-alpha01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits .
API Changes
- Add SPATIAL_API_V4 to
SpatialApiVersions( I71e7a )
Version 1.0
Version 1.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Behavior Changes
Version 1.0.0-beta02
August 12, 2026
androidx.xr.runtime:runtime-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
Bug fixes
- Improved the detection of
OpenXRsupport in emulated environments. ( Ifec51 ) - Implemented
toString()in more classes for debugging. ( I67d83 ) - Fix
XrDeviceTestRuleto work whenXrDeviceis created after applying settings. ( Ica32c )
Version 1.0.0-beta01
July 15, 2026
androidx.xr.runtime:runtime-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
API Changes
- Added
SessionTestRuleto runtime-testing. This API ( I672bc , b/516876144 ) - Converted Session.create to a suspend function. ( I5d27f )
- Added support for the lifecycle to the
XrDeviceTestRule( I2319c , b/512140272 ) - Removed unused
ExperimentalXrDeviceLifecycleApiexperimental opt-in annotation. ( I46d95 ) - Add specialized overrides of
toString()for a number of runtime types. These types are intended to provide additional information to developers for debugging purposes and are not intended to be used in production or shipped applications.
رفع اشکالات
- Fixed Pose.
fromLookAtforward direction alignment, corrected scale extraction in Matrix3, and prevented numericalNaNsin normalization, axis-angle conversion, andangleBetweencalculations. ( I7a3b5 , b/367780918 )
Version 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
API Changes
- Added test API for
isProjectedServiceAvailable()( I44ba1 ) - Exposed
DeviceTrackingMode.INERTIALas a public experimental API under the new@ExperimentalInertialTrackingApiannotation. ( Ic3df3 ) - Added
Config.Builder. Apps can create custom configurations by calling setter functions on the builder object and then callingBuilder.build. ( I13142 ) -
androidx.xr.runtime.FieldOfViewhas been removed. Apps should useandroidx.xr.runtime.math.FieldOfViewinstead. ( I621ef ) -
Session.createis now required to be ran on a@WorkerThread. ( I2169e ) - Added
isProjectedServiceAvailable()to theXrDevice( I507e9 ) - Renaming
DeviceTrackingMode.SPATIAL_LAST_KNOWNtoDeviceTrackingMode.SPATIALandDeviceTrackingMode.INERTIAL_LAST_KNOWNtoDeviceTrackingMode.INERTIAL( I96f8b ) -
Vector3.angleBetweenandVector4.angleBetweennow return degrees rather than radians. ( Ica8bc ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha14 is released. Version 1.0.0-alpha14 contains these commits .
API Changes
- Deprecating
GeospatialMode.VPS_AND_GPSin favor ofGeospatialMode.SPATIALand introducing a new lower-power tracking mode,GeospatialMode.INERTIAL, which uses only IMU and GPS. ( I1e6cd ) - Removes deprecation tag on
androidx.xr.runtime.FieldOfView. Makesandroidx.xr.runtime.math.FieldOfViewa type aliaas ofandroidx.xr.runtime.FieldOfViewin preparation for the latter's removal in the next release. Clients must migrate to theandroidx.xr.runtime.mathversion wherever they are using theandroidx.xr.runtimeversion. ( I6ce15 ) - Added the
PreviewProjectedApiannotation ( Ic49f6 ) - Removed
AugmentedObjectCategory.allSupported( I08656 ) - Adding APIs in
XrDevicefor determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 ) -
Session.getNativeDatahas been replaced withXrDevice.getNativeInstanceDataandSession.getNativeSessionData. ( Ieb077 ) - Annotated
DeviceTrackingMode.INERTIAL_LAST_KNOWNwith@PreviewSpatialApi. ( I99868 ) - Added
XrDeviceTestRulefor its use in unit tests. ( I87584 ) - Adding
CATEGORY_XR_PROJECTED_LAUNCHER, this constant is used in the Manifest file to indicate the activity should be discovered as a launcher by the system. ( Ia3069 )
External Contribution
- Add
AugmentedImageModeto theConfigAPI ( I0cf09 )
Version 1.0.0-alpha13
May 06, 2026
androidx.xr.runtime:runtime-*:1.0.0-alpha13 is released. Version 1.0.0-alpha13 contains these commits .
API Changes
-
TrackingStateandVpsAvailabilityResulthave moved to theandroidx.xr.arcore package, and the types inandroidx.xr.runtimeare now deprecated. ( Ic7930 , b/480462213 ) -
Session.getNativeData()is now defined thexr:runtime:runtimemodule and provides [nativeFunctionTablePointer] for OpenXR-backed runtimes. ( Ifa862 ) - Moved
NativeDataAPI toxr:runtime:runtimelibrary. ( I87954 , b/494251500 ) -
Session.createandSession.configureare now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 ) -
androidx.xr.runtime.FieldOfViewhas been deprecated. Useandroidx.xr.runtime.math.FieldOfViewinstead. ( Ia01a0 , b/480233045 ) -
Matrix4.posehas been renamed toMatrix4.toPose(). The pose property is now deprecated. ( I329b4 , b/493383490 ) - Added the
XrServiceAvailabilityAPI ( If379e , b/493558010 ) - Added the
ExperimentalXrServiceAvailabilityApiannotation ( Icab49 , b/491069725 ) - Remove the suffix for
@PreviewSpatialApi( If5242 , b/491939311 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and use [XrLog.Level] to set the log level. ( I76a1f , b/463460895 , b/487378441 ) - Adding
DISPLAY_CATEGORY_XR_PROJECTED, this constant is used in the Manifest file to indicate the activity is meant for a XR projected display ( I26d8b )
Version 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha12 is released. Version 1.0.0-alpha12 contains these commits .
API Changes
- Changed
Config.augmentedObjectCategoriesfrom a List to a Set, ( I25a64 , b/487376359 ) - Removed
unscaledGravityAlignedActivitySpaceflag fromSession.create.ActivitySpaceis always unscaled and gravity-aligned now. ( If6f11 , b/458173423 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Added
JvmOverloadstoFloatSize2d.to3d,Matrix3.copy, andMatrix4.copy( I69586 , b/481371562 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 ) - Added
xr:runtime:runtime-interfacesmodule. ( I52ac6 , b/461561664 )
Version 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
API Changes
- Restricted
ConfigModeinterface to internal use ( Ibfb87 ) - Moved
androidx.xr.runtime.Config.GeospatialModeto package level ( Ibe682 ) - Moved
androidx.xr.runtime.Config.FaceTrackingModeto package level ( Iac501 ) - Moved
androidx.xr.runtime.Config.AnchorPersistenceModeto package level ( I0360f ) - Moved
androidx.xr.runtime.Config.DepthEstimationModeto package level ( I7e3e9 ) - Moved
androidx.xr.runtime.Config.DeviceTrackingModeto package level ( I3aacd ) - Moved
androidx.xr.runtime.Config.HandTrackingModeto package level ( I658f3 ) - Moved
androidx.xr.runtime.Config.PlaneTrackingModeto package level ( Ia251b ) - Moved
androidx.xr.runtime.XrDevice.DisplayBlendModeto package level ( I6f333 ) - Added a factory method to create an
XrDeviceusing a Context, Session and aCoroutineContext. ( I139c5 ) - Added
SpatialApiVersionHelperto help query the runtime version of Android XR available on the platform. ( I7c53c ) - Added
xr:runtime:runtime-openxrmodule ( Ib42ea )
Version 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.runtime:runtime-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
API Changes
-
ConfigMode.HeadTrackingModeis replaced withConfigMode.DeviceTrackingMode. ( le273e , b/467150206 ) - Removed Quaternion's
toNormalized,times(float),div(float)methods. These methods are redundant given that all Quaternions are normalized at construction time and given that the class is immutable. ( l558fc , b/460210457 )
رفع اشکالات
- Added documentation to
Session.createthat illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 ) - Prevented applications from creating a
BoundingBoxwith aNaNvalue. ( l58c14 , b/464025895 )
Version 1.0.0-alpha09
December 03, 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
۱۹ نوامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
ویژگیهای جدید
-
XrDeviceadded to provide information about device capabilities. ( Ic9d1f ) - Added new
ConfigMode.isSupportedAPI for querying session capabilities. ( Iff7af ) - Added
XrDisplay.BlendModeAPI. ( I484e4 )
API Changes
- Renamed [XrDevice.getPreferredBlendMode] to [XrDevice.getPreferredDisplayBlendMode]. ( I7e48f )
Version 1.0.0-alpha07
۲۲ اکتبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
API Changes
- Remove
SessionConfigureConfigureNotSupportedand replace it withUnsupportedOperationException. ( I7680f )
Version 1.0.0-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
API Changes
-
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) - Changing the times operator for
componentWiseMultiplicationforVector2,Vector3,Vector4to scale and removing the operator symbol for consistency with other math libraries. Also removingcomponentWiseDivisionfrom the Vector classes in lieu of usingVector.scale(otherVector.inverse()). ( I8e1f6 , b/399146447 ) - Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
-
:xr:runtime:runtime-guavawill be removed asCoroutines.kthas been replaced withSuspendtoFutureAdapter. ( I0cd3c , b/406597902 )
Version 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.runtime:runtime-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits .
ویژگیهای جدید
- Add
HandJointTypeandTrackingState. ( I55880 , b/334645808 ) - Make Config implementation public. ( I95860 , b/334645808 )
- Introduced new
SessionCreateResultandSessionConfigureResulttypes. ( Icb8cb , b/334645808 ) - Add a new
BoundingBoxclass that represents an axis-aligned bounding box in 3D space, defined by its minimum and maximum corner points. ( Ic68c5 , b/423073468 )
API Changes
- Renamed and moved
androidx.xr.scenecore.PixelDimensionstoandroidx.xr.runtime.math.IntSize2d. Renamed and movedandroidx.xr.scenecore.Dimensionstoandroidx.xr.runtime.math.FloatSize3d. Renamedandroidx.xr.scenecore.PlaneTypetoandroidx.xr.scenecore.PlaneOrientation. Renamedandroidx.xr.scenecore.PlaneSemantictoandroidx.xr.scenecore.PlaneSemanticType. ( Ifd405 , b/416456228 ) - Removed
androidx.xr.runtime.FoVclass. Useandroidx.xr.runtime.FieldOfViewinstead. ( I9ae27 ) - Added an additional overload for
Session.createwhich can provide aLifecycleOwnerfor the Session to attach to. Note that an Activity will still need to be provided for resource ownership and theLifecycleOwnermust be scoped within the Activity. ( I1690b ) - Renamed
FakeRuntimeAnchor.anchorsCreatedtoanchorsCreatedCount( I96df9 , b/424441218 ) - Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 , b/344563182 )
- APIs related to manifest strings have been moved from
:xr:runtime:runtimeto:xr:runtime:runtime-manifest. The package name has changed fromandroidx.xr.runtimetoandroidx.xr.runtime.manifest. ( I610ad , b/418800249 ) -
Session.resume(),Session.pause(), andSession.destroy()have been removed from the API surface. Session is no longer aLifecycleOwner. The Session's lifecycle will now be attached to the lifecycle of the Activity passed inSession.create(). ( I28a03 ) - This library now uses JSpecify nullness annotations , which are type-use. Kotlin developers should use the following compiler argument to enforce correct usage:
-Xjspecify-annotations=strict(this is the default starting with version 2.1.0 of the Kotlin compiler) ( Ia8420 , b/326456246 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kolin-style async APIs. Java developers can depend on:xr:runtime:runtime-guavato access compatible APIs. ( I05d4a , b/426639315 ) - The main Runtime artifact (
:xr:runtime:runtime) will only contain Kotlin-style async APIs. Java developers can depend on thexr:runtime:runtime-rxjava3library to access compatible APIs. ( I64122 , b/426639775 ) - Move Coroutines to
:xr:runtime:runtime-guavaand Flows to:xr:runtime:runtime-rxjava3. ( I60ae9 ) -
Session.createandSession.configurenow throwSecurityExceptionwhen sufficient permissions have not been granted instead of returningSessionCreatePermissionsNotGrantedorSessionConfigurePermissionsNotGranted. ( I7c488 , b/430651879 )
Version 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha04 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits .
ویژگیهای جدید
- Session now implements
androidx.lifecycle.LifecycleOwnerfor more interoperability with existing Android lifecycle paradigms. - Manifest strings for Android XR are specified and documented here.
- Spatial Visibility Callback extension methods added to monitor when the scene content moves inside or outside the user's field of view.
- Added a stub version of the
JxrPlatformAdapter(and all its related classes). - Session will be used in both
SceneCoreand Runtime instead of the Session inSceneCore. -
ActivityPose.hitTestwas added, enabling ahitTestagainst virtual content. - Specifying multiple Runtime implementations at compile time is now supported. Only one will be loaded at execution time based on the current device's feature set.
- Added new Component type
SpatialPointerComponent, allowing clients to specify the icon rendered for the pointer, or to disable the icon. This Component can currently be attached toPanelEntityinstances only.
API Changes
- Make Config implementation public. ( I95860 )
- Add
HandJointTypeandTrackingState. ( I55880 ) - Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
-
Hand.isActive (boolean)has been changed toHand.trackingState. TheOpenXRimplementation has been modified accordingly. -
android.permission.SCENE_UNDERSTANDINGpermission requirement inSession.configurehas been changed toandroid.permission.SCENE_UNDERSTANDING_COARSE. -
LifecycleManager.configureis implemented and now passes in aConfigobject which contains a property for each configurable runtime feature. -
Session.configurecan now be called with aConfigin order to configure the available runtime features. -
Session.createnow supports passing aCoroutineContextinstead of aCoroutineDispatcher. -
Session.createsupports loadingARCorefor Jetpack XR and/orSceneCore. At least one must be provided (testing versions are available). -
FakePerceptionManagerthrows anAnchorInvalidUuidExceptionwhen an invalid UUID is passed toAnchor.loadandAnchor.unpersist. -
CoreStateis no longer a data class.
رفع اشکالات
- Fixed Runtime proguard configurations.
Version 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha03 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha03 are released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.runtime:runtime:1.0.0-alpha02 , androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 , and androidx.xr.runtime:runtime-testing:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits .
Breaking & behavioral changes
-
OpenXRruntime functions that return an Anchor now throwAnchorResourcesExhaustedExceptionif they encounter an error code notifying that theOpenXRresource limit has been reached. - Permission
android.permission.HAND_TRACKINGis now required forSession.createandSession.resume.
ویژگیهای جدید
- Added hand tracking support.
Bug fixes
- Creating anchors is more stable when running on an emulator
Version 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.runtime:runtime-* 1.0.0-alpha01 is released.
Features of Initial Release
Initial release of Jetpack XR Runtime. This library contains fundamental pieces of functionality for the Jetpack XR suite of libraries. This includes capability discovery, lifecycle management, configuration, and more. The Runtime library provides different variations (eg runtime-openxr or runtime-testing ) depending on the execution platform. Additionally, this library offers fundamental math abstractions such as Vector3 and Matrix4 that are used across the entire Jetpack XR API surface.
Session: Provides you with fine-grained controls over the XR system, including deciding when processing is and is not being executed and the overall configuration. It is also the handle that you will use across all other APIs to unlock the underlying system capabilities.Pose: A location in an arbitrary coordinate system that has a position and orientation associated with it. You will use this class to communicate the location of objects with ARCore for Jetpack XR and Jetpack SceneCore.
مشکلات شناخته شده
-
configureis currently a no-op. Future releases will add new settings that you can use to control the behavior of theSession.