زمان اجرا XR

جلسه AR یا 3D سفارشی خود را با زمان اجرای بومی ما شروع کنید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۹ سپتامبر ۲۰۲۶ - ۱.۰.۰-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 شامل این کامیت‌ها است.

تغییرات رفتاری

  • بهبود مدیریت رویدادهای چرخه عمر داخلی ( I2f7b8 ، If1bc3 ، Ifa75e )

نسخه ۱.۰.۰-بتا۰۲

۱۲ آگوست ۲۰۲۶

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 به API Config ( 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:runtime xr: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

جلسه AR یا 3D سفارشی خود را با زمان اجرای بومی ما شروع کنید.
آخرین به‌روزرسانی انتشار پایدار کاندیدای انتشار انتشار بتا انتشار آلفا
۹ سپتامبر ۲۰۲۶ - ۱.۰.۰-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 شامل این کامیت‌ها است.

تغییرات رفتاری

  • بهبود مدیریت رویدادهای چرخه عمر داخلی ( I2f7b8 ، If1bc3 ، Ifa75e )

نسخه ۱.۰.۰-بتا۰۲

۱۲ آگوست ۲۰۲۶

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 به API Config ( 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:runtime xr: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:runtime to :xr:runtime:runtime-manifest . The package name has changed from androidx.xr.runtime to androidx.xr.runtime.manifest . ( I610ad , b/418800249 )
  • Session.resume() , Session.pause() , and Session.destroy() have been removed from the API surface. Session is no longer a LifecycleOwner . The Session's lifecycle will now be attached to the lifecycle of the Activity passed in Session.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-guava to 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 the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( 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.LifecycleOwner for 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 SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against 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 to PanelEntity instances only.

API Changes

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is 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

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.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.

مشکلات شناخته شده

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .
،

XR Runtime

Start your custom AR or 3D session with our native 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.

Create a new issue

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 OpenXR support in emulated environments. ( Ifec51 )
  • Implemented toString() in more classes for debugging. ( I67d83 )
  • Fix XrDeviceTestRule to work when XrDevice is 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 SessionTestRule to 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 ExperimentalXrDeviceLifecycleApi experimental 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. fromLookAt forward direction alignment, corrected scale extraction in Matrix3, and prevented numerical NaNs in normalization, axis-angle conversion, and angleBetween calculations. ( 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.INERTIAL as a public experimental API under the new @ExperimentalInertialTrackingApi annotation. ( Ic3df3 )
  • Added Config.Builder . Apps can create custom configurations by calling setter functions on the builder object and then calling Builder.build . ( I13142 )
  • androidx.xr.runtime.FieldOfView has been removed. Apps should use androidx.xr.runtime.math.FieldOfView instead. ( I621ef )
  • Session.create is now required to be ran on a @WorkerThread . ( I2169e )
  • Added isProjectedServiceAvailable() to the XrDevice ( I507e9 )
  • Renaming DeviceTrackingMode.SPATIAL_LAST_KNOWN to DeviceTrackingMode.SPATIAL and DeviceTrackingMode.INERTIAL_LAST_KNOWN to DeviceTrackingMode.INERTIAL ( I96f8b )
  • Vector3.angleBetween and Vector4.angleBetween now return degrees rather than radians. ( Ica8bc )
  • Added QrCode API ( 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_GPS in favor of GeospatialMode.SPATIAL and introducing a new lower-power tracking mode, GeospatialMode.INERTIAL , which uses only IMU and GPS. ( I1e6cd )
  • Removes deprecation tag on androidx.xr.runtime.FieldOfView . Makes androidx.xr.runtime.math.FieldOfView a type aliaas of androidx.xr.runtime.FieldOfView in preparation for the latter's removal in the next release. Clients must migrate to the androidx.xr.runtime.math version wherever they are using the androidx.xr.runtime version. ( I6ce15 )
  • Added the PreviewProjectedApi annotation ( Ic49f6 )
  • Removed AugmentedObjectCategory.allSupported ( I08656 )
  • Adding APIs in XrDevice for determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 )
  • Session.getNativeData has been replaced with XrDevice.getNativeInstanceData and Session.getNativeSessionData . ( Ieb077 )
  • Annotated DeviceTrackingMode.INERTIAL_LAST_KNOWN with @PreviewSpatialApi . ( I99868 )
  • Added XrDeviceTestRule for 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 AugmentedImageMode to the Config API ( 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

  • TrackingState and VpsAvailabilityResult have moved to the androidx.xr.arcore package , and the types in androidx.xr.runtime are now deprecated. ( Ic7930 , b/480462213 )
  • Session.getNativeData() is now defined the xr:runtime:runtime module and provides [ nativeFunctionTablePointer ] for OpenXR-backed runtimes. ( Ifa862 )
  • Moved NativeData API to xr:runtime:runtime library. ( I87954 , b/494251500 )
  • Session.create and Session.configure are now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 )
  • androidx.xr.runtime.FieldOfView has been deprecated. Use androidx.xr.runtime.math.FieldOfView instead. ( Ia01a0 , b/480233045 )
  • Matrix4.pose has been renamed to Matrix4.toPose() . The pose property is now deprecated. ( I329b4 , b/493383490 )
  • Added the XrServiceAvailability API ( If379e , b/493558010 )
  • Added the ExperimentalXrServiceAvailabilityApi annotation ( Icab49 , b/491069725 )
  • Remove the suffix for @PreviewSpatialApi ( If5242 , b/491939311 )
  • Renamed DeviceTrackingMode.LAST_KNOWN to SPATIAL_LAST_KNOWN (with a deprecated fallback), added INERTIAL_LAST_KNOWN for 3DoF tracking, and added TRACKING_DEGRADED to TrackingState . ( Ie661c , b/445466590 )
  • Added XrLog API. Set XrLog.isEnabled to true to 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.augmentedObjectCategories from a List to a Set, ( I25a64 , b/487376359 )
  • Removed unscaledGravityAlignedActivitySpace flag from Session.create . ActivitySpace is always unscaled and gravity-aligned now. ( If6f11 , b/458173423 )
  • Added Session.create overload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 )
  • Added JvmOverloads to FloatSize2d.to3d , Matrix3.copy , and Matrix4.copy ( I69586 , b/481371562 )
  • Added ability to set categories for AugmentedObject tracking in the Config ( I1f6e4 , b/480220930 )
  • Added xr:runtime:runtime-interfaces module. ( 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 ConfigMode interface to internal use ( Ibfb87 )
  • Moved androidx.xr.runtime.Config.GeospatialMode to package level ( Ibe682 )
  • Moved androidx.xr.runtime.Config.FaceTrackingMode to package level ( Iac501 )
  • Moved androidx.xr.runtime.Config.AnchorPersistenceMode to package level ( I0360f )
  • Moved androidx.xr.runtime.Config.DepthEstimationMode to package level ( I7e3e9 )
  • Moved androidx.xr.runtime.Config.DeviceTrackingMode to package level ( I3aacd )
  • Moved androidx.xr.runtime.Config.HandTrackingMode to package level ( I658f3 )
  • Moved androidx.xr.runtime.Config.PlaneTrackingMode to package level ( Ia251b )
  • Moved androidx.xr.runtime.XrDevice.DisplayBlendMode to package level ( I6f333 )
  • Added a factory method to create an XrDevice using a Context, Session and a CoroutineContext . ( I139c5 )
  • Added SpatialApiVersionHelper to help query the runtime version of Android XR available on the platform. ( I7c53c )
  • Added xr:runtime:runtime-openxr module ( 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.HeadTrackingMode is replaced with ConfigMode.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.create that illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 )
  • Prevented applications from creating a BoundingBox with a NaN value. ( 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 .

ویژگی‌های جدید

  • XrDevice added to provide information about device capabilities. ( Ic9d1f )
  • Added new ConfigMode.isSupported API for querying session capabilities. ( Iff7af )
  • Added XrDisplay.BlendMode API. ( 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 SessionConfigureConfigureNotSupported and replace it with UnsupportedOperationException . ( 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

  • HandJointType has been moved to xr:arcore:arcore from xr:runtime:runtime . ( Iadb9c , b/409058039 )
  • Changing the times operator for componentWiseMultiplication for Vector2 , Vector3 , Vector4 to scale and removing the operator symbol for consistency with other math libraries. Also removing componentWiseDivision from the Vector classes in lieu of using Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
  • :xr:runtime:runtime-guava will be removed as Coroutines.kt has been replaced with SuspendtoFutureAdapter . ( 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 HandJointType and TrackingState . ( I55880 , b/334645808 )
  • Make Config implementation public. ( I95860 , b/334645808 )
  • Introduced new SessionCreateResult and SessionConfigureResult types. ( Icb8cb , b/334645808 )
  • Add a new BoundingBox class 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.PixelDimensions to androidx.xr.runtime.math.IntSize2d . Renamed and moved androidx.xr.scenecore.Dimensions to androidx.xr.runtime.math.FloatSize3d . Renamed androidx.xr.scenecore.PlaneType to androidx.xr.scenecore.PlaneOrientation . Renamed androidx.xr.scenecore.PlaneSemantic to androidx.xr.scenecore.PlaneSemanticType . ( Ifd405 , b/416456228 )
  • Removed androidx.xr.runtime.FoV class. Use androidx.xr.runtime.FieldOfView instead. ( I9ae27 )
  • Added an additional overload for Session.create which can provide a LifecycleOwner for the Session to attach to. Note that an Activity will still need to be provided for resource ownership and the LifecycleOwner must be scoped within the Activity. ( I1690b )
  • Renamed FakeRuntimeAnchor.anchorsCreated to anchorsCreatedCount ( I96df9 , b/424441218 )
  • Config *Mode vals 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:runtime to :xr:runtime:runtime-manifest . The package name has changed from androidx.xr.runtime to androidx.xr.runtime.manifest . ( I610ad , b/418800249 )
  • Session.resume() , Session.pause() , and Session.destroy() have been removed from the API surface. Session is no longer a LifecycleOwner . The Session's lifecycle will now be attached to the lifecycle of the Activity passed in Session.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-guava to 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 the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( 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.LifecycleOwner for 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 SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against 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 to PanelEntity instances only.

API Changes

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is 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

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.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.

مشکلات شناخته شده

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .
،

XR Runtime

Start your custom AR or 3D session with our native 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.

Create a new issue

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 OpenXR support in emulated environments. ( Ifec51 )
  • Implemented toString() in more classes for debugging. ( I67d83 )
  • Fix XrDeviceTestRule to work when XrDevice is 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 SessionTestRule to 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 ExperimentalXrDeviceLifecycleApi experimental 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. fromLookAt forward direction alignment, corrected scale extraction in Matrix3, and prevented numerical NaNs in normalization, axis-angle conversion, and angleBetween calculations. ( 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.INERTIAL as a public experimental API under the new @ExperimentalInertialTrackingApi annotation. ( Ic3df3 )
  • Added Config.Builder . Apps can create custom configurations by calling setter functions on the builder object and then calling Builder.build . ( I13142 )
  • androidx.xr.runtime.FieldOfView has been removed. Apps should use androidx.xr.runtime.math.FieldOfView instead. ( I621ef )
  • Session.create is now required to be ran on a @WorkerThread . ( I2169e )
  • Added isProjectedServiceAvailable() to the XrDevice ( I507e9 )
  • Renaming DeviceTrackingMode.SPATIAL_LAST_KNOWN to DeviceTrackingMode.SPATIAL and DeviceTrackingMode.INERTIAL_LAST_KNOWN to DeviceTrackingMode.INERTIAL ( I96f8b )
  • Vector3.angleBetween and Vector4.angleBetween now return degrees rather than radians. ( Ica8bc )
  • Added QrCode API ( 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_GPS in favor of GeospatialMode.SPATIAL and introducing a new lower-power tracking mode, GeospatialMode.INERTIAL , which uses only IMU and GPS. ( I1e6cd )
  • Removes deprecation tag on androidx.xr.runtime.FieldOfView . Makes androidx.xr.runtime.math.FieldOfView a type aliaas of androidx.xr.runtime.FieldOfView in preparation for the latter's removal in the next release. Clients must migrate to the androidx.xr.runtime.math version wherever they are using the androidx.xr.runtime version. ( I6ce15 )
  • Added the PreviewProjectedApi annotation ( Ic49f6 )
  • Removed AugmentedObjectCategory.allSupported ( I08656 )
  • Adding APIs in XrDevice for determining device support for hand tracking, eye tracking, depth estimation, geospatial, and rendering. ( I00696 )
  • Session.getNativeData has been replaced with XrDevice.getNativeInstanceData and Session.getNativeSessionData . ( Ieb077 )
  • Annotated DeviceTrackingMode.INERTIAL_LAST_KNOWN with @PreviewSpatialApi . ( I99868 )
  • Added XrDeviceTestRule for 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 AugmentedImageMode to the Config API ( 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

  • TrackingState and VpsAvailabilityResult have moved to the androidx.xr.arcore package , and the types in androidx.xr.runtime are now deprecated. ( Ic7930 , b/480462213 )
  • Session.getNativeData() is now defined the xr:runtime:runtime module and provides [ nativeFunctionTablePointer ] for OpenXR-backed runtimes. ( Ifa862 )
  • Moved NativeData API to xr:runtime:runtime library. ( I87954 , b/494251500 )
  • Session.create and Session.configure are now non-exhaustive and require else clauses in when statements. ( I9885e , b/495805998 , b/495805998 )
  • androidx.xr.runtime.FieldOfView has been deprecated. Use androidx.xr.runtime.math.FieldOfView instead. ( Ia01a0 , b/480233045 )
  • Matrix4.pose has been renamed to Matrix4.toPose() . The pose property is now deprecated. ( I329b4 , b/493383490 )
  • Added the XrServiceAvailability API ( If379e , b/493558010 )
  • Added the ExperimentalXrServiceAvailabilityApi annotation ( Icab49 , b/491069725 )
  • Remove the suffix for @PreviewSpatialApi ( If5242 , b/491939311 )
  • Renamed DeviceTrackingMode.LAST_KNOWN to SPATIAL_LAST_KNOWN (with a deprecated fallback), added INERTIAL_LAST_KNOWN for 3DoF tracking, and added TRACKING_DEGRADED to TrackingState . ( Ie661c , b/445466590 )
  • Added XrLog API. Set XrLog.isEnabled to true to 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.augmentedObjectCategories from a List to a Set, ( I25a64 , b/487376359 )
  • Removed unscaledGravityAlignedActivitySpace flag from Session.create . ActivitySpace is always unscaled and gravity-aligned now. ( If6f11 , b/458173423 )
  • Added Session.create overload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 )
  • Added JvmOverloads to FloatSize2d.to3d , Matrix3.copy , and Matrix4.copy ( I69586 , b/481371562 )
  • Added ability to set categories for AugmentedObject tracking in the Config ( I1f6e4 , b/480220930 )
  • Added xr:runtime:runtime-interfaces module. ( 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 ConfigMode interface to internal use ( Ibfb87 )
  • Moved androidx.xr.runtime.Config.GeospatialMode to package level ( Ibe682 )
  • Moved androidx.xr.runtime.Config.FaceTrackingMode to package level ( Iac501 )
  • Moved androidx.xr.runtime.Config.AnchorPersistenceMode to package level ( I0360f )
  • Moved androidx.xr.runtime.Config.DepthEstimationMode to package level ( I7e3e9 )
  • Moved androidx.xr.runtime.Config.DeviceTrackingMode to package level ( I3aacd )
  • Moved androidx.xr.runtime.Config.HandTrackingMode to package level ( I658f3 )
  • Moved androidx.xr.runtime.Config.PlaneTrackingMode to package level ( Ia251b )
  • Moved androidx.xr.runtime.XrDevice.DisplayBlendMode to package level ( I6f333 )
  • Added a factory method to create an XrDevice using a Context, Session and a CoroutineContext . ( I139c5 )
  • Added SpatialApiVersionHelper to help query the runtime version of Android XR available on the platform. ( I7c53c )
  • Added xr:runtime:runtime-openxr module ( 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.HeadTrackingMode is replaced with ConfigMode.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.create that illustrates how to avoid creating a session on the application's main thread. ( le5554 , b/463687170 )
  • Prevented applications from creating a BoundingBox with a NaN value. ( 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 .

ویژگی‌های جدید

  • XrDevice added to provide information about device capabilities. ( Ic9d1f )
  • Added new ConfigMode.isSupported API for querying session capabilities. ( Iff7af )
  • Added XrDisplay.BlendMode API. ( 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 SessionConfigureConfigureNotSupported and replace it with UnsupportedOperationException . ( 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

  • HandJointType has been moved to xr:arcore:arcore from xr:runtime:runtime . ( Iadb9c , b/409058039 )
  • Changing the times operator for componentWiseMultiplication for Vector2 , Vector3 , Vector4 to scale and removing the operator symbol for consistency with other math libraries. Also removing componentWiseDivision from the Vector classes in lieu of using Vector.scale(otherVector.inverse()) . ( I8e1f6 , b/399146447 )
  • Adding [unscaled] to return a Matrix with a scale of one. ( I6381d , b/434928658 )
  • :xr:runtime:runtime-guava will be removed as Coroutines.kt has been replaced with SuspendtoFutureAdapter . ( 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 HandJointType and TrackingState . ( I55880 , b/334645808 )
  • Make Config implementation public. ( I95860 , b/334645808 )
  • Introduced new SessionCreateResult and SessionConfigureResult types. ( Icb8cb , b/334645808 )
  • Add a new BoundingBox class 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.PixelDimensions to androidx.xr.runtime.math.IntSize2d . Renamed and moved androidx.xr.scenecore.Dimensions to androidx.xr.runtime.math.FloatSize3d . Renamed androidx.xr.scenecore.PlaneType to androidx.xr.scenecore.PlaneOrientation . Renamed androidx.xr.scenecore.PlaneSemantic to androidx.xr.scenecore.PlaneSemanticType . ( Ifd405 , b/416456228 )
  • Removed androidx.xr.runtime.FoV class. Use androidx.xr.runtime.FieldOfView instead. ( I9ae27 )
  • Added an additional overload for Session.create which can provide a LifecycleOwner for the Session to attach to. Note that an Activity will still need to be provided for resource ownership and the LifecycleOwner must be scoped within the Activity. ( I1690b )
  • Renamed FakeRuntimeAnchor.anchorsCreated to anchorsCreatedCount ( I96df9 , b/424441218 )
  • Config *Mode vals 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:runtime to :xr:runtime:runtime-manifest . The package name has changed from androidx.xr.runtime to androidx.xr.runtime.manifest . ( I610ad , b/418800249 )
  • Session.resume() , Session.pause() , and Session.destroy() have been removed from the API surface. Session is no longer a LifecycleOwner . The Session's lifecycle will now be attached to the lifecycle of the Activity passed in Session.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-guava to 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 the xr:runtime:runtime-rxjava3 library to access compatible APIs. ( I64122 , b/426639775 )
  • Move Coroutines to :xr:runtime:runtime-guava and Flows to :xr:runtime:runtime-rxjava3 . ( I60ae9 )
  • Session.create and Session.configure now throw SecurityException when sufficient permissions have not been granted instead of returning SessionCreatePermissionsNotGranted or SessionConfigurePermissionsNotGranted . ( 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.LifecycleOwner for 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 SceneCore and Runtime instead of the Session in SceneCore .
  • ActivityPose.hitTest was added, enabling a hitTest against 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 to PanelEntity instances only.

API Changes

  • Make Config implementation public. ( I95860 )
  • Add HandJointType and TrackingState . ( I55880 )
  • Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed ( Idb6b5 )
  • Hand.isActive (boolean) has been changed to Hand.trackingState . The OpenXR implementation has been modified accordingly.
  • android.permission.SCENE_UNDERSTANDING permission requirement in Session.configure has been changed to android.permission.SCENE_UNDERSTANDING_COARSE .
  • LifecycleManager.configure is implemented and now passes in a Config object which contains a property for each configurable runtime feature.
  • Session.configure can now be called with a Config in order to configure the available runtime features.
  • Session.create now supports passing a CoroutineContext instead of a CoroutineDispatcher .
  • Session.create supports loading ARCore for Jetpack XR and/or SceneCore . At least one must be provided (testing versions are available).
  • FakePerceptionManager throws an AnchorInvalidUuidException when an invalid UUID is passed to Anchor.load and Anchor.unpersist .
  • CoreState is 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

  • OpenXR runtime functions that return an Anchor now throw AnchorResourcesExhaustedException if they encounter an error code notifying that the OpenXR resource limit has been reached.
  • Permission android.permission.HAND_TRACKING is now required for Session.create and Session.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.

مشکلات شناخته شده

  • configure is currently a no-op. Future releases will add new settings that you can use to control the behavior of the Session .