ARCore برای Jetpack XR
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | ۱.۰.۰-rc01 | - | - |
اعلام وابستگیها
برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۰
نسخه ۱.۰.۰-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
نسخه ۱.۰.۰-بتا۰۲
۱۲ آگوست ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این کامیتها است.
رفع اشکالات
- رفع مشکل همزمانی در پایداری لنگر
OpenXR. ( I15c8b ) -
toString()در کلاسهای بیشتری برای اشکالزدایی پیادهسازی شده است. ( I587e8 )
نسخه ۱.۰.۰-بتا۰۱
۱۵ ژوئیه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
- اصلاحگر تغییر اندازه بهروزرسانی شد تا به جای دو اصلاحگر ( I7fb0f ، b/496257436 ، b/519672992 ) از یک
ResizePolicyاستفاده کند. - اضافه بار متحرک با پارامتر
movePolicyاضافه شد وtransformingMovableوmovableمنسوخ شدند ( Ic88c1 ، b/481781189 ) -
TrackingState.TRACKING_DEGRADED از سطح API عمومی حذف شد و حالتهای تنزلیافته در زمان اجرا به PAUSED نگاشت شدند.TrackingStateبهروزرسانی شد تا از enumها به جای مقادیر int برای تبدیل رشته و تبدیل زمان اجرا استفاده شود. ( I3eb5b , b/524326338 ) - تابع Session.create به یک تابع suspend تبدیل شد. ( I5d27f )
- قرارداد
ProjectedPermissionsResultContract( I141d5 ، b/515699436 ) منسوخ شد. -
AnchorEntityبهروزرسانی شد تاAnchorSpaceنامیده شود ( Ifa95e ، b/513619219 )
نسخه ۱.۰.۰-آلفا۱۵
۱۷ ژوئن ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha15 منتشر شد. نسخه 1.0.0-alpha15 شامل این کامیتها است.
تغییرات API
-
HitResult.createAnchorحذف شد. توسعهدهندگان میتوانند در صورتی که trackable نتیجه یکAnchorableباشد، با ارائه موقعیت ضربه به تابعcreateAnchorازAnchorable، یک anchor ایجاد کنند کهHitResultرا نشان میدهد. ( Ia851e ) -
AnchorUnsupportedObjectحذف شد. دیگر توسط JXR ARCore runtime اجرا نمیشود. ( Ia851e ) -
androidx.xr.arcore.Anchorوandroidx.xr.arcore.ArDeviceاکنونandroidx.xr.arcore.Trackableرا پیادهسازی میکنند. ( I57b65 ) -
Depth.left،Depth.rightوDepth.monoاکنون غیرقابل تهیسازی هستند ( I1fc5e ) -
Face.getUserFaceاکنون غیرقابل تهی شدن است ( I0eac1 ) -
RenderViewpoint.left،RenderViewpoint.right،RenderViewpoint.monoاکنون غیرقابل تهیسازی هستند ( Icf7fa ) -
Hand.leftوHand.rightغیرقابل تهیسازی هستند ( Icef37 ) - API
QrCodeاضافه شد ( Ia0bbe )
نسخه ۱.۰.۰-آلفا۱۴
۱۹ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha14 منتشر شد. نسخه 1.0.0-alpha14 شامل این کامیتها است.
تغییرات API
- منسوخ کردن
GeospatialMode.VPS_AND_GPSبه نفعGeospatialMode.SPATIALو معرفی یک حالت ردیابی کممصرف جدید،GeospatialMode.INERTIAL، که فقط از IMU و GPS استفاده میکند. ( I1e6cd ) - کلاسهای خطای لنگر سفارشی:
AnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureExceptionوAnchorUnsupportedObjectExceptionاکنون نمونههایRuntimeExceptionهستند که برای بررسی در نظر گرفته نشدهاند. ( I9356e ) - API
ArCoreTestRuleاضافه شد، شاملTestArDevice،TestAugmentableObject،TestDepthMap،TestEye،TestFace،TestGeospatial،TestHand،TestPlane،TestRenderViewpointوTestTrackable( I0ad3c ) -
AnchorLoadInvalidUuid،AnchorCreateUnsupportedObject،AnchorCreateUnsupportedLocationوAnchorCreateNotAuthorizedرا حذف میکند. اکنون همه این خطاها در زمان اجرا استثنا هستند.AnchorCreateIllegalStateرا حذف میکند. این خطا در بیشتر موارد باAnchorCreateTrackingUnavailableجایگزین شده است.AnchorExceptionو کلاسهای مشتق شده از آن مانندAnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureExceptionوAnchorUnsupportedObjectExceptionرا اضافه میکند. ( I4c4dd )
مشارکت خارجی
- API
AugmentedImageبرای ردیابی نشانگر سفارشی ( I0cf09 ) اضافه شد
نسخه ۱.۰.۰-آلفا۱۳
۶ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha13 منتشر شد. نسخه 1.0.0-alpha13 شامل این کامیتها است.
تغییرات API
-
TrackingStateوVpsAvailabilityResultبهandroidx.xr.arcore packageمنتقل شدهاند و انواع موجود درandroidx.xr.runtimeاکنون منسوخ شدهاند. ( Ic7930 ، b/480462213 ) - نام
Plane.TypeبهPlaneTypeتغییر یافت. ( I8c90c ، b/482675376 ) - نام
Hand.HandSideبهHandSideتغییر یافت. ( Ica562 ، b/482675376 ) - نام
Plane.LabelبهPlaneLabelتغییر یافت. ( Ic6b67 ، b/482675376 ) - نام
Geospatial.SurfaceبهGeospatialSurfaceتغییر یافت. ( I1a8be ، b/482675376 ) - نام
Geospatial.StateبهGeospatialStateتغییر یافت. ( I203fa ، b/482675376 ) - 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 ) - Orbiter تغییر داده شد تا به جای position، offset، offsetType، alignment و elevation از
OrbiterAnchorPoint + VolumeOffsetیاOrbiterPoseProviderاستفاده کند. همچنین پارامترshouldRenderInNonSpatialحذف شد. اگر توسعهدهنده نمیخواهد که orbiter به صورت غیر فضایی رندر شود، باید orbiter را در یک عبارت if قرار دهد وSpatialCapabilitiesرا بررسی کند. ( I9fbb3 ، b/462428503 ) - اصلاحکنندههای متحرک اضافه شدند. این اصلاحکنندهها در حال حاضر برای
SpatialPanelsوSpatialExternalSurfaceبه خوبی کار میکنند. خیلی زود برایSpatialGltfModelsنیز پشتیبانی خواهند شد. با این حال، هدف این است که این موارد به خوبی برای همهSubspaceComposablesپشتیبانی شوند. ( I9a3cd ، b/479530787 ، b/478935063 ، b/478935063 ) - انتظار میرود توسعهدهندگان جریان
ArDevice.stateرا برای نظارت برState.trackingStateمشاهده کنند و رندر یا هشدارهای برنامه خود را بر اساس وفاداری ردیابی تنظیم کنند. ( Ic00f0 , b/445466590 ) - مقادیر شمارشی
HandJointTypeتغییر نام داده شدند. ( Ifbc83 ، b/482670596 ) - ثابتهای
FaceConfidenceRegionتغییر نام دادند. ( Ia62d5 ، b/482670596 ) - ثابتهای
FaceBlendShapeTypeتغییر نام دادند. ( I33b8b ، b/482670596 ) -
CreatePoseFromGeospatialPoseErrorInternalوCreateGeospatialPoseFromPoseErrorInternalاضافه شدند. ( I4bcf1 , b/482666615 ) - نام
DeviceTrackingMode.LAST_KNOWNبهSPATIAL_LAST_KNOWN(با یک جایگزین منسوخشده) تغییر یافت،INERTIAL_LAST_KNOWNبرای ردیابی 3DoF اضافه شد، وTRACKING_DEGRADEDبهTrackingStateاضافه شد. ( Ie661c ، b/445466590 ) -
GroupEntityمنسوخ شده. برای داشتن یک Entity که فقط قابلیت Entity پایه را دارد،Entity.createرا فراخوانی کنید که رابط Entity و ( I4c450 ، b/473867483 ) را برمیگرداند. - رابط برنامهنویسی کاربردی
XrLogاضافه شد. برای فعال کردن ثبت وقایع در JetpackXR، مقدارXrLog.isEnabledرا رویtrueتنظیم کنید وXrLog.Levelبرای تنظیم سطح ثبت وقایع استفاده کنید. ( I76a1f ، b/463460895 ، b/487378441 )
رفع اشکالات
- پشتیبانی از ردیابی وضعیت دستگاه را به دستگاههای openxr اضافه کنید. ( I91485 ، b/445466590 )
نسخه ۱.۰.۰-آلفا۱۲
۲۵ مارس ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha12 منتشر شد. نسخه 1.0.0-alpha12 شامل این کامیتها است.
تغییرات API
-
Config.augmentedObjectCategoriesاز لیست به مجموعه (Set) تغییر یافت. ( I25a64 , b/487376359 ) - انواع
androidx.xr.arcore.Eyeوandroidx.xr.arcore.Hand. ( I42438 ، b/449032900 ) - اضافه بار
Session.createاضافه شد تا امکان ارسال یک Android Context برای محدودهبندی منابع فراهم شود. ( I7d3fe ، b/415805990 ، b/477386334 ) -
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITرا بهFakeRuntimeAnchor.anchorResourceLimitتغییر میدهد. ( I90841 ، b/431992235 ) - API مربوط به
TiltGestureدر حال آزمایشی شدن است، زیرا ممکن است در آینده تغییر کند یا حذف شود. برای استفاده از این API، از@ExperimentalGesturesApi( Ic9858 ) استفاده کنید. - قابلیت تنظیم دستهها برای ردیابی
AugmentedObjectدر پیکربندی ( I1f6e4 ، b/480220930 ) اضافه شد.
رفع اشکالات
- با بهروزرسانی فایل META-INF/services/ با محل واقعی
PerceptionRuntimeFactory، مشکل ساخت کروم برطرف شد. ( I7a801 ، b/481288291 )
نسخه ۱.۰.۰-آلفا۱۱
۲۵ فوریه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۱۰
۲۸ ژانویه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیتها است.
ویژگیهای جدید
- API
TiltGestureمعرفی میکند که یکFlowواکنشی برای تشخیص پایدار وضعیت شیب دستگاه (بالا/پایین) با پیشرفت انتقال ارائه میدهد. ( Ic269f ، b/448152779 ) - ARCore برای Jetpack XR اکنون از مکانیسم ثبت وقایع زمان اجرا XR استفاده میکند. برای اطلاعات بیشتر به
androidx.xr.runtime.Logمراجعه کنید. ( l52735 ، b/448697662 )
تغییرات API
-
Geospatial.createPoseFromGeospatialPoseاکنون روی دستگاههای دارای OpenXR کار میکند. ( l362c6 )
نسخه ۱.۰.۰-آلفا۰۹
۳ دسامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۸
۱۹ نوامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
-
ARCoreبرای Jetpack XR اکنون از دستگاههایی که سرویسهای Google Play برای واقعیت افزوده در آنها موجود است، پشتیبانی میکند. - API های جغرافیایی برای دسترسی به VPS و تبدیل موقعیت مکانی اضافه شد ( I144dc )
نسخه ۱.۰.۰-آلفا۰۷
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
رفع اشکالات
-
:xr:arcore:arcore-openxrبه عنوان یک وابستگی پیادهسازی به:xr:arcore:arcore( I47315 , b/446999229 ) اضافه شد.
نسخه ۱.۰.۰-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
تغییرات API
- پشتیبانی از تست
ARCoreبه ماژولxr:arcore:arcore-testingمنتقل شده است. ( I25469 ) - اضافه کردن
ArDeviceوRenderViewpointبرای اینکه برنامهها بتوانند پیکربندی حالت و نمایش دستگاه را برای اهداف رندرینگ بازیابی کنند. ( Ib7e3f ) - نام enumهای
HandJointTypeرا با پیشوندHAND_JOINT_TYPE_تغییر دهید. ( I3f7cd ) -
HandJointTypeاز xr:xr:runtime:runtimexr:arcore:arcoreمنتقل شده است ( Iadb9c ، b/409058039 ). -
Hand.Stateاکنون یکjava.nio.FloatBufferبا حالتهای اتصال در قالبی که امکان دسترسی آسان به برنامههای کاربردی با عملکرد بالا را فراهم میکند، نمایش میدهد. ( I55e27 )
نسخه ۱.۰.۰-آلفا۰۵
۳۰ ژوئیه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha05 ، androidx.xr.arcore:arcore-guava:1.0.0-alpha05 و androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 منتشر شدند. نسخه 1.0.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
-
getPrimaryHandSideرا اضافه کنید تا توسعهدهنده بتواند اطلاعات سمت دست ( I270bd ) را دریافت کند. - افزودن API بررسی موقعیت مکانی VPS برای دسترسیپذیری ( I58573 )
- اضافه کردن API ARCore برای
checkVpsAvailability( شناساییشده ) - توابع افزونهی
stateFlowableبرای استفادهی توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( I083aa , b/427247794 )
تغییرات API
- پیکربندی
*Modeبرای انعکاس رفتارشان تغییر نام داده شدهاند. ( I6d247 ، b/414648065 ) - مصنوع اصلی ARCore (xr:arcore:arcore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانه
xr:arcore:arcore-rxjava3تکیه کنند. ( Ia525e , b/422794329 ) - مصنوع اصلی ARCore (
xr:scenecore:scenecore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانهxr:arcore:arcore-guavaتکیه کنند. ( Iffcb4 ، b/422773524 ) -
Anchor.persistAsync()برای استفاده توسعهدهندگان جاوا بهAnchorGuavaاضافه شد. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)برای استفاده توسعهدهندگان جاوا بهEarthGuavaاضافه شد. ( I66357 , b/425992992 ) - توسعهدهندگان جاوا از توابع افزونه برای
GltfModel.createAsyncدرGltfModel.ktاستفاده خواهند کرد. توابع Async درGltfModelحذف خواهند شد. ( I0af60 ) - این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر Kotlin شروع میشود) ( Ia8420 ، b/326456246 ) - توابع افزونه
subscribeAsFlowableبرای استفاده توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( Id3e49 ، b/427277298 )
نسخه ۱.۰.۰-آلفا۰۴
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیتها است.
تغییرات API
- پروژههایی که با کاتلین ۲.۰ منتشر شدهاند، برای استفاده به KGP ۲.۰.۰ یا جدیدتر نیاز دارند. ( IDb6b5 )
-
TrackingStateوHandJointTypeاز ARCore به Runtime منتقل شدهاند. -
Hand.State.isActive (boolean)بهHand.State.trackingState (androidx.xr.runtime.TrackingState)تغییر یافته است. - اگر UUID نامعتبر باشد،
Anchor.loadAnchor.AnchorLoadInvalidUuidرا برمیگرداند.
نسخه ۱.۰.۰-آلفا۰۳
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 بدون هیچ تغییر قابل توجهی از آخرین نسخه آلفا منتشر شده است. نسخه 1.0.0-alpha03 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۲
۱۲ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از ردیابی دست اضافه شد. برای دسترسی به اطلاعات ردیابی
Hand.leftوHand.rightاستفاده کنید. - APIهایی که یک anchor (
Anchor.create،Anchor.load،Plane.createAnchor) تولید میکنند، اکنون همگیAnchorCreateResultرا برمیگردانند وAnchorCreateResourcesExhaustedرا به درستی پیادهسازی میکنند.
رفع اشکالات
-
Anchor.detachدیگر به دلیل شرایط رقابتی با نخ بهروزرسانی Session باعث خرابی مهلک نمیشود. -
Anchor.createهنگام اجرا روی یک شبیهساز پایدارتر است
نسخه ۱.۰.۰-آلفا۰۱
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 منتشر شد.
ویژگیهای نسخه اولیه
کتابخانه ARCore for Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیتهایی را برای ترکیب محتوای دیجیتال با دنیای واقعی فراهم میکند. این کتابخانه شامل ردیابی حرکت، لنگرهای پایدار، آزمایش ضربه و شناسایی صفحه با برچسبگذاری معنایی (به عنوان مثال، کف، دیوارها و روی میزها) است. برای کسب اطلاعات بیشتر در مورد کار با ARCore for Jetpack XR، به راهنمای توسعهدهنده مراجعه کنید.
Session: ARCore برای Jetpack XR از Jetpack XR Runtime در زیر هود برای تأمین عملکرد خود استفاده میکند. شما از یک جلسه برای تعامل با اکثر APIهای ARCore برای Jetpack XR استفاده خواهید کرد، بنابراین لطفاً به مستندات آن نگاهی بیندازید.Plane: از صفحهها برای درک دنیای اطراف خود استفاده کنید. هر صفحه دارای یکLabelاست که آن را از نظر معنایی توصیف میکند. میتوانیدsubscribeبرای اطلاع از آخرین صفحات شناسایی شده یاstateبرای اطلاع از تغییرات یک صفحه خاص استفاده کنید.Anchor: پیوندی بین یک شیء مجازی و یک مکان در دنیای واقعی. Anchorها میتوانند به یک مکان خاص در فضا (با استفادهcreate) یا یکTrackable(با استفاده ازcreateAnchor) متصل شوند.میتوان از Anchorها در طول جلسات مختلف دوباره استفاده کرد. میتوانید
persistبرای ذخیره آنها،getPersistedAnchorUuidsبرای شمارش آنها وloadبرای بازیابی آنها استفاده کنید. مطمئن شوید که وقتی دیگر مورد استفاده قرار نمیگیرند، آنها راunpersist.انکرها (Anchor) بین ARCore برای Jetpack XR و Jetpack SceneCore قابل تعامل هستند. میتوانید با استفاده از یک انکر، یک
AnchorEntityایجاد کنید یا اگر یک AnchorEntity از قبل دارید، میتوانیدgetAnchorبرای بازیابی انکر پشتیبان آن استفاده کنید.با استفاده از
hitTestتعاملات طبیعی کاربر را ارائه دهید. یک hitTest از یکRayبرای تعیین اینکه کدام محتواها را قطع میکند و برای ایجاد یکAnchorاز آن مکان استفاده میکند. انجام hitTest از یکInputEventرا در نظر بگیرید.
مشکلات شناخته شده
ممکن است بین فراخوانی
unpersistو حذف UUID آن از نتایج برگردانده شده توسطgetPersistedAnchorUuidsتأخیری وجود داشته باشد.createاعتبارسنجی نمیکند که سیستم منابع کافی برای بازگرداندن anchor های جدید را دارد. ایجاد تعداد بیش از حد anchor ممکن است منجر به خرابی شود.حفظ یک Anchor که قبلاً حفظ شده و حفظ نشده است، در حال حاضر پشتیبانی نمیشود.
استفاده در شبیهساز پشتیبانی میشود، اما ممکن است رفتار آن به پایداری اجرا روی یک دستگاه واقعی نباشد. به ویژه، فراخوانیهای
createممکن است با خطای کد بومی مواجه شوند و بلافاصله فعالیت را خاتمه دهند.در شرایط خاص، ممکن است هنگام فراخوانی
persistیکRuntimeExceptionبا پیام "Anchor was not persistent" به اشتباه صادر شود. در این شرایط، تابع همچنان موفق خواهد بود و anchor persistent خواهد شد. به عنوان یک راه حل، توصیه میکنیم فراخوانیpersistرا با یک بلوکtryبپوشانید.
ARCore برای Jetpack XR
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | ۱.۰.۰-rc01 | - | - |
اعلام وابستگیها
برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر ، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc01" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۰
نسخه ۱.۰.۰-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این کامیتها است.
نسخه ۱.۰.۰-بتا۰۲
۱۲ آگوست ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این کامیتها است.
رفع اشکالات
- رفع مشکل همزمانی در پایداری لنگر
OpenXR. ( I15c8b ) -
toString()در کلاسهای بیشتری برای اشکالزدایی پیادهسازی شده است. ( I587e8 )
نسخه ۱.۰.۰-بتا۰۱
۱۵ ژوئیه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 شامل این کامیتها است.
تغییرات API
- اصلاحگر تغییر اندازه بهروزرسانی شد تا به جای دو اصلاحگر ( I7fb0f ، b/496257436 ، b/519672992 ) از یک
ResizePolicyاستفاده کند. - اضافه بار متحرک با پارامتر
movePolicyاضافه شد وtransformingMovableوmovableمنسوخ شدند ( Ic88c1 ، b/481781189 ) -
TrackingState.TRACKING_DEGRADED از سطح API عمومی حذف شد و حالتهای تنزلیافته در زمان اجرا به PAUSED نگاشت شدند.TrackingStateبهروزرسانی شد تا از enumها به جای مقادیر int برای تبدیل رشته و تبدیل زمان اجرا استفاده شود. ( I3eb5b , b/524326338 ) - تابع Session.create به یک تابع suspend تبدیل شد. ( I5d27f )
- قرارداد
ProjectedPermissionsResultContract( I141d5 ، b/515699436 ) منسوخ شد. -
AnchorEntityبهروزرسانی شد تاAnchorSpaceنامیده شود ( Ifa95e ، b/513619219 )
نسخه ۱.۰.۰-آلفا۱۵
۱۷ ژوئن ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha15 منتشر شد. نسخه 1.0.0-alpha15 شامل این کامیتها است.
تغییرات API
-
HitResult.createAnchorحذف شد. توسعهدهندگان میتوانند در صورتی که trackable نتیجه یکAnchorableباشد، با ارائه موقعیت ضربه به تابعcreateAnchorازAnchorable، یک anchor ایجاد کنند کهHitResultرا نشان میدهد. ( Ia851e ) -
AnchorUnsupportedObjectحذف شد. دیگر توسط JXR ARCore runtime اجرا نمیشود. ( Ia851e ) -
androidx.xr.arcore.Anchorوandroidx.xr.arcore.ArDeviceاکنونandroidx.xr.arcore.Trackableرا پیادهسازی میکنند. ( I57b65 ) -
Depth.left،Depth.rightوDepth.monoاکنون غیرقابل تهیسازی هستند ( I1fc5e ) -
Face.getUserFaceاکنون غیرقابل تهی شدن است ( I0eac1 ) -
RenderViewpoint.left،RenderViewpoint.right،RenderViewpoint.monoاکنون غیرقابل تهیسازی هستند ( Icf7fa ) -
Hand.leftوHand.rightغیرقابل تهیسازی هستند ( Icef37 ) - API
QrCodeاضافه شد ( Ia0bbe )
نسخه ۱.۰.۰-آلفا۱۴
۱۹ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha14 منتشر شد. نسخه 1.0.0-alpha14 شامل این کامیتها است.
تغییرات API
- منسوخ کردن
GeospatialMode.VPS_AND_GPSبه نفعGeospatialMode.SPATIALو معرفی یک حالت ردیابی کممصرف جدید،GeospatialMode.INERTIAL، که فقط از IMU و GPS استفاده میکند. ( I1e6cd ) - کلاسهای خطای لنگر سفارشی:
AnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureExceptionوAnchorUnsupportedObjectExceptionاکنون نمونههایRuntimeExceptionهستند که برای بررسی در نظر گرفته نشدهاند. ( I9356e ) - API
ArCoreTestRuleاضافه شد، شاملTestArDevice،TestAugmentableObject،TestDepthMap،TestEye،TestFace،TestGeospatial،TestHand،TestPlane،TestRenderViewpointوTestTrackable( I0ad3c ) -
AnchorLoadInvalidUuid،AnchorCreateUnsupportedObject،AnchorCreateUnsupportedLocationوAnchorCreateNotAuthorizedرا حذف میکند. اکنون همه این خطاها در زمان اجرا استثنا هستند.AnchorCreateIllegalStateرا حذف میکند. این خطا در بیشتر موارد باAnchorCreateTrackingUnavailableجایگزین شده است.AnchorExceptionو کلاسهای مشتق شده از آن مانندAnchorInvalidUuidException،AnchorNotAuthorizedException،AnchorUnsupportedLocationException،AnchorRuntimeFailureExceptionوAnchorUnsupportedObjectExceptionرا اضافه میکند. ( I4c4dd )
مشارکت خارجی
- API
AugmentedImageبرای ردیابی نشانگر سفارشی ( I0cf09 ) اضافه شد
نسخه ۱.۰.۰-آلفا۱۳
۶ مه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha13 منتشر شد. نسخه 1.0.0-alpha13 شامل این کامیتها است.
تغییرات API
-
TrackingStateوVpsAvailabilityResultبهandroidx.xr.arcore packageمنتقل شدهاند و انواع موجود درandroidx.xr.runtimeاکنون منسوخ شدهاند. ( Ic7930 ، b/480462213 ) - نام
Plane.TypeبهPlaneTypeتغییر یافت. ( I8c90c ، b/482675376 ) - نام
Hand.HandSideبهHandSideتغییر یافت. ( Ica562 ، b/482675376 ) - نام
Plane.LabelبهPlaneLabelتغییر یافت. ( Ic6b67 ، b/482675376 ) - نام
Geospatial.SurfaceبهGeospatialSurfaceتغییر یافت. ( I1a8be ، b/482675376 ) - نام
Geospatial.StateبهGeospatialStateتغییر یافت. ( I203fa ، b/482675376 ) - 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 ) - Orbiter تغییر داده شد تا به جای position، offset، offsetType، alignment و elevation از
OrbiterAnchorPoint + VolumeOffsetیاOrbiterPoseProviderاستفاده کند. همچنین پارامترshouldRenderInNonSpatialحذف شد. اگر توسعهدهنده نمیخواهد که orbiter به صورت غیر فضایی رندر شود، باید orbiter را در یک عبارت if قرار دهد وSpatialCapabilitiesرا بررسی کند. ( I9fbb3 ، b/462428503 ) - اصلاحکنندههای متحرک اضافه شدند. این اصلاحکنندهها در حال حاضر برای
SpatialPanelsوSpatialExternalSurfaceبه خوبی کار میکنند. خیلی زود برایSpatialGltfModelsنیز پشتیبانی خواهند شد. با این حال، هدف این است که این موارد به خوبی برای همهSubspaceComposablesپشتیبانی شوند. ( I9a3cd ، b/479530787 ، b/478935063 ، b/478935063 ) - انتظار میرود توسعهدهندگان جریان
ArDevice.stateرا برای نظارت برState.trackingStateمشاهده کنند و رندر یا هشدارهای برنامه خود را بر اساس وفاداری ردیابی تنظیم کنند. ( Ic00f0 , b/445466590 ) - مقادیر شمارشی
HandJointTypeتغییر نام داده شدند. ( Ifbc83 ، b/482670596 ) - ثابتهای
FaceConfidenceRegionتغییر نام دادند. ( Ia62d5 ، b/482670596 ) - ثابتهای
FaceBlendShapeTypeتغییر نام دادند. ( I33b8b ، b/482670596 ) -
CreatePoseFromGeospatialPoseErrorInternalوCreateGeospatialPoseFromPoseErrorInternalاضافه شدند. ( I4bcf1 , b/482666615 ) - نام
DeviceTrackingMode.LAST_KNOWNبهSPATIAL_LAST_KNOWN(با یک جایگزین منسوخشده) تغییر یافت،INERTIAL_LAST_KNOWNبرای ردیابی 3DoF اضافه شد، وTRACKING_DEGRADEDبهTrackingStateاضافه شد. ( Ie661c ، b/445466590 ) -
GroupEntityمنسوخ شده. برای داشتن یک Entity که فقط قابلیت Entity پایه را دارد،Entity.createرا فراخوانی کنید که رابط Entity و ( I4c450 ، b/473867483 ) را برمیگرداند. - رابط برنامهنویسی کاربردی
XrLogاضافه شد. برای فعال کردن ثبت وقایع در JetpackXR، مقدارXrLog.isEnabledرا رویtrueتنظیم کنید وXrLog.Levelبرای تنظیم سطح ثبت وقایع استفاده کنید. ( I76a1f ، b/463460895 ، b/487378441 )
رفع اشکالات
- پشتیبانی از ردیابی وضعیت دستگاه را به دستگاههای openxr اضافه کنید. ( I91485 ، b/445466590 )
نسخه ۱.۰.۰-آلفا۱۲
۲۵ مارس ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha12 منتشر شد. نسخه 1.0.0-alpha12 شامل این کامیتها است.
تغییرات API
-
Config.augmentedObjectCategoriesاز لیست به مجموعه (Set) تغییر یافت. ( I25a64 , b/487376359 ) - انواع
androidx.xr.arcore.Eyeوandroidx.xr.arcore.Hand. ( I42438 ، b/449032900 ) - اضافه بار
Session.createاضافه شد تا امکان ارسال یک Android Context برای محدودهبندی منابع فراهم شود. ( I7d3fe ، b/415805990 ، b/477386334 ) -
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITرا بهFakeRuntimeAnchor.anchorResourceLimitتغییر میدهد. ( I90841 ، b/431992235 ) - API مربوط به
TiltGestureدر حال آزمایشی شدن است، زیرا ممکن است در آینده تغییر کند یا حذف شود. برای استفاده از این API، از@ExperimentalGesturesApi( Ic9858 ) استفاده کنید. - قابلیت تنظیم دستهها برای ردیابی
AugmentedObjectدر پیکربندی ( I1f6e4 ، b/480220930 ) اضافه شد.
رفع اشکالات
- با بهروزرسانی فایل META-INF/services/ با محل واقعی
PerceptionRuntimeFactory، مشکل ساخت کروم برطرف شد. ( I7a801 ، b/481288291 )
نسخه ۱.۰.۰-آلفا۱۱
۲۵ فوریه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۱۰
۲۸ ژانویه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این کامیتها است.
ویژگیهای جدید
- API
TiltGestureمعرفی میکند که یکFlowواکنشی برای تشخیص پایدار وضعیت شیب دستگاه (بالا/پایین) با پیشرفت انتقال ارائه میدهد. ( Ic269f ، b/448152779 ) - ARCore برای Jetpack XR اکنون از مکانیسم ثبت وقایع زمان اجرا XR استفاده میکند. برای اطلاعات بیشتر به
androidx.xr.runtime.Logمراجعه کنید. ( l52735 ، b/448697662 )
تغییرات API
-
Geospatial.createPoseFromGeospatialPoseاکنون روی دستگاههای دارای OpenXR کار میکند. ( l362c6 )
نسخه ۱.۰.۰-آلفا۰۹
۳ دسامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۸
۱۹ نوامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این کامیتها است.
ویژگیهای جدید
-
ARCoreبرای Jetpack XR اکنون از دستگاههایی که سرویسهای Google Play برای واقعیت افزوده در آنها موجود است، پشتیبانی میکند. - API های جغرافیایی برای دسترسی به VPS و تبدیل موقعیت مکانی اضافه شد ( I144dc )
نسخه ۱.۰.۰-آلفا۰۷
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 منتشر شد. نسخه 1.0.0-alpha07 شامل این کامیتها است.
رفع اشکالات
-
:xr:arcore:arcore-openxrبه عنوان یک وابستگی پیادهسازی به:xr:arcore:arcore( I47315 , b/446999229 ) اضافه شد.
نسخه ۱.۰.۰-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 منتشر شد. نسخه 1.0.0-alpha06 شامل این کامیتها است.
تغییرات API
- پشتیبانی از تست
ARCoreبه ماژولxr:arcore:arcore-testingمنتقل شده است. ( I25469 ) - اضافه کردن
ArDeviceوRenderViewpointبرای اینکه برنامهها بتوانند پیکربندی حالت و نمایش دستگاه را برای اهداف رندرینگ بازیابی کنند. ( Ib7e3f ) - نام enumهای
HandJointTypeرا با پیشوندHAND_JOINT_TYPE_تغییر دهید. ( I3f7cd ) -
HandJointTypeاز xr:xr:runtime:runtimexr:arcore:arcoreمنتقل شده است ( Iadb9c ، b/409058039 ). -
Hand.Stateاکنون یکjava.nio.FloatBufferبا حالتهای اتصال در قالبی که امکان دسترسی آسان به برنامههای کاربردی با عملکرد بالا را فراهم میکند، نمایش میدهد. ( I55e27 )
نسخه ۱.۰.۰-آلفا۰۵
۳۰ ژوئیه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha05 ، androidx.xr.arcore:arcore-guava:1.0.0-alpha05 و androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 منتشر شدند. نسخه 1.0.0-alpha05 شامل این کامیتها است.
ویژگیهای جدید
-
getPrimaryHandSideرا اضافه کنید تا توسعهدهنده بتواند اطلاعات سمت دست ( I270bd ) را دریافت کند. - افزودن API بررسی موقعیت مکانی VPS برای دسترسیپذیری ( I58573 )
- اضافه کردن API ARCore برای
checkVpsAvailability( شناساییشده ) - توابع افزونهی
stateFlowableبرای استفادهی توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( I083aa , b/427247794 )
تغییرات API
- پیکربندی
*Modeبرای انعکاس رفتارشان تغییر نام داده شدهاند. ( I6d247 ، b/414648065 ) - مصنوع اصلی ARCore (xr:arcore:arcore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانه
xr:arcore:arcore-rxjava3تکیه کنند. ( Ia525e , b/422794329 ) - مصنوع اصلی ARCore (
xr:scenecore:scenecore) فقط شامل APIهای ناهمگام به سبک کاتلین خواهد بود. توسعهدهندگان جاوا میتوانند برای دسترسی به APIهای سازگار به کتابخانهxr:arcore:arcore-guavaتکیه کنند. ( Iffcb4 ، b/422773524 ) -
Anchor.persistAsync()برای استفاده توسعهدهندگان جاوا بهAnchorGuavaاضافه شد. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)برای استفاده توسعهدهندگان جاوا بهEarthGuavaاضافه شد. ( I66357 , b/425992992 ) - توسعهدهندگان جاوا از توابع افزونه برای
GltfModel.createAsyncدرGltfModel.ktاستفاده خواهند کرد. توابع Async درGltfModelحذف خواهند شد. ( I0af60 ) - این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان Kotlin باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 2.1.0 کامپایلر Kotlin شروع میشود) ( Ia8420 ، b/326456246 ) - توابع افزونه
subscribeAsFlowableبرای استفاده توسعهدهندگان جاوا به:xr:arcore:arcore-rxjava3اضافه شدند. ( Id3e49 ، b/427277298 )
نسخه ۱.۰.۰-آلفا۰۴
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 منتشر شد. نسخه 1.0.0-alpha04 شامل این کامیتها است.
تغییرات API
- پروژههایی که با کاتلین ۲.۰ منتشر شدهاند، برای استفاده به KGP ۲.۰.۰ یا جدیدتر نیاز دارند. ( IDb6b5 )
-
TrackingStateوHandJointTypeاز ARCore به Runtime منتقل شدهاند. -
Hand.State.isActive (boolean)بهHand.State.trackingState (androidx.xr.runtime.TrackingState)تغییر یافته است. - اگر UUID نامعتبر باشد،
Anchor.loadAnchor.AnchorLoadInvalidUuidرا برمیگرداند.
نسخه ۱.۰.۰-آلفا۰۳
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 بدون هیچ تغییر قابل توجهی از آخرین نسخه آلفا منتشر شده است. نسخه 1.0.0-alpha03 شامل این کامیتها است.
نسخه ۱.۰.۰-آلفا۰۲
۱۲ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha02 منتشر شد. نسخه 1.0.0-alpha02 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی از ردیابی دست اضافه شد. برای دسترسی به اطلاعات ردیابی
Hand.leftوHand.rightاستفاده کنید. - APIهایی که یک anchor (
Anchor.create،Anchor.load،Plane.createAnchor) تولید میکنند، اکنون همگیAnchorCreateResultرا برمیگردانند وAnchorCreateResourcesExhaustedرا به درستی پیادهسازی میکنند.
رفع اشکالات
-
Anchor.detachدیگر به دلیل شرایط رقابتی با نخ بهروزرسانی Session باعث خرابی مهلک نمیشود. -
Anchor.createهنگام اجرا روی یک شبیهساز پایدارتر است
نسخه ۱.۰.۰-آلفا۰۱
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 منتشر شد.
ویژگیهای نسخه اولیه
کتابخانه ARCore for Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیتهایی را برای ترکیب محتوای دیجیتال با دنیای واقعی فراهم میکند. این کتابخانه شامل ردیابی حرکت، لنگرهای پایدار، آزمایش ضربه و شناسایی صفحه با برچسبگذاری معنایی (به عنوان مثال، کف، دیوارها و روی میزها) است. برای کسب اطلاعات بیشتر در مورد کار با ARCore for Jetpack XR، به راهنمای توسعهدهنده مراجعه کنید.
Session: ARCore برای Jetpack XR از Jetpack XR Runtime در زیر هود برای تأمین عملکرد خود استفاده میکند. شما از یک جلسه برای تعامل با اکثر APIهای ARCore برای Jetpack XR استفاده خواهید کرد، بنابراین لطفاً به مستندات آن نگاهی بیندازید.Plane: از صفحهها برای درک دنیای اطراف خود استفاده کنید. هر صفحه دارای یکLabelاست که آن را از نظر معنایی توصیف میکند. میتوانیدsubscribeبرای اطلاع از آخرین صفحات شناسایی شده یاstateبرای اطلاع از تغییرات یک صفحه خاص استفاده کنید.Anchor: پیوندی بین یک شیء مجازی و یک مکان در دنیای واقعی. Anchorها میتوانند به یک مکان خاص در فضا (با استفادهcreate) یا یکTrackable(با استفاده ازcreateAnchor) متصل شوند.میتوان از Anchorها در طول جلسات مختلف دوباره استفاده کرد. میتوانید
persistبرای ذخیره آنها،getPersistedAnchorUuidsبرای شمارش آنها وloadبرای بازیابی آنها استفاده کنید. مطمئن شوید که وقتی دیگر مورد استفاده قرار نمیگیرند، آنها راunpersist.انکرها (Anchor) بین ARCore برای Jetpack XR و Jetpack SceneCore قابل تعامل هستند. میتوانید با استفاده از یک انکر، یک
AnchorEntityایجاد کنید یا اگر یک AnchorEntity از قبل دارید، میتوانیدgetAnchorبرای بازیابی انکر پشتیبان آن استفاده کنید.با استفاده از
hitTestتعاملات طبیعی کاربر را ارائه دهید. یک hitTest از یکRayبرای تعیین اینکه کدام محتواها را قطع میکند و برای ایجاد یکAnchorاز آن مکان استفاده میکند. انجام hitTest از یکInputEventرا در نظر بگیرید.
مشکلات شناخته شده
ممکن است بین فراخوانی
unpersistو حذف UUID آن از نتایج برگردانده شده توسطgetPersistedAnchorUuidsتأخیری وجود داشته باشد.createwill not validate that the system has enough resources to return new anchors. Creating an excessive amount of anchors might lead to a crash.Persisting an Anchor that was previously persisted and unpersisted is not currently supported.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.
ARCore for Jetpack XR
| آخرین بهروزرسانی | انتشار پایدار | Release Candidate | انتشار بتا | Alpha Release |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | 1.0.0-rc01 | - | - |
Declaring dependencies
To add a dependency on ARCore for Jetpack XR, 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.arcore:arcore:1.0.0-rc01" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
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.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Version 1.0.0-beta02
۱۲ آگوست ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
رفع اشکالات
- Fix concurrency issue in
OpenXRanchor persistence. ( I15c8b ) - Implemented
toString()in more classes for debugging. ( I587e8 )
Version 1.0.0-beta01
۱۵ ژوئیه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
API Changes
- Updated resizable modifier to use a
ResizePolicyinstead of two modifiers ( I7fb0f , b/496257436 , b/519672992 ) - Added movable overload with
movePolicyparam and deprecatetransformingMovableandmovable( Ic88c1 , b/481781189 ) - Removed
TrackingState.TRACKING_DEGRADED from public API surface and map runtime degraded states to PAUSED instead. UpdateTrackingStateto use enums instead of int values for string conversion and runtime conversion. ( I3eb5b , b/524326338 ) - Converted Session.create to a suspend function. ( I5d27f )
- Deprecated the
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) - Updated
AnchorEntityto be calledAnchorSpace( Ifa95e , b/513619219 )
Version 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
API Changes
-
HitResult.createAnchorwas removed. Developers can create an anchor representing theHitResultif the trackable of the result is anAnchorableby supplying the hit position to thecreateAnchorfunction of theAnchorable. ( Ia851e ) -
AnchorUnsupportedObjectwas removed. It is no longer thrown by a JXR ARCore runtime. ( Ia851e ) -
androidx.xr.arcore.Anchorandandroidx.xr.arcore.ArDevicenow implementandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.right, andDepth.monoare now non-nullable ( I1fc5e ) -
Face.getUserFaceis now non-nullable ( I0eac1 ) -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoare now non-nullable ( Icf7fa ) -
Hand.leftandHand.rightare non non-nullable ( Icef37 ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - Custom anchor exception classes:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectExceptionare nowRuntimeExceptioninstances, not intended to be checked. ( I9356e ) - Added
ArCoreTestRuleAPI, includingTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpoint, &TestTrackable( I0ad3c ) - Removes
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocation, andAnchorCreateNotAuthorized. All of these errors are now exceptions in the runtime. RemovesAnchorCreateIllegalState. This has been replaced withAnchorCreateTrackingUnavailablein most cases. AddsAnchorExceptionand derived classesAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectException. ( I4c4dd )
External Contribution
- Added
AugmentedImageAPI for custom marker tracking ( I0cf09 )
Version 1.0.0-alpha13
۶ مه ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - Renamed
Plane.TypetoPlaneType. ( I8c90c , b/482675376 ) - Renamed
Hand.HandSidetoHandSide. ( Ica562 , b/482675376 ) - Renamed
Plane.LabeltoPlaneLabel. ( Ic6b67 , b/482675376 ) - Renamed
Geospatial.SurfacetoGeospatialSurface. ( I1a8be , b/482675376 ) - Renamed
Geospatial.StatetoGeospatialState. ( I203fa , b/482675376 ) - 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 ) - Changed Orbiter to use either an
OrbiterAnchorPoint + VolumeOffsetor anOrbiterPoseProviderinstead of position, offset, offsetType, alignment, and elevation. Also removed theshouldRenderInNonSpatialparameter. If the developer does not want the orbiter to render in non-spatial they should wrap the orbiter in an if statement and check theSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Added movable modifiers. These modifiers work well, right now, for
SpatialPanelsandSpatialExternalSurface. Very soon they will also be supported forSpatialGltfModels. However, the intention is to have these supported well for allSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Developers are expected to observe the
ArDevice.stateFlow to monitorState.trackingStateand adjust their application's rendering or warnings accordingly based on the tracking fidelity. ( Ic00f0 , b/445466590 ) - Renamed
HandJointTypeenum values. ( Ifbc83 , b/482670596 ) - Renamed
FaceConfidenceRegionconstants. ( Ia62d5 , b/482670596 ) - Renamed
FaceBlendShapeTypeconstants. ( I33b8b , b/482670596 ) - Added
CreatePoseFromGeospatialPoseErrorInternalandCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Deprecated
GroupEntity. To have an Entity with only the base Entity functionality, callEntity.createwhich will return and Entity interface. ( I4c450 , b/473867483 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and useXrLog.Levelto set the log level. ( I76a1f , b/463460895 , b/487378441 )
رفع اشکالات
- Add the device tracking state support to the openxr devices. ( I91485 , b/445466590 )
Version 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - The types
androidx.xr.arcore.Eyeandandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Changes
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITtoFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - Making
TiltGestureAPI experimental as it may be changed or removed in the future. To use this api, opt in to@ExperimentalGesturesApi( Ic9858 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 )
رفع اشکالات
- Fixed Chrome's build by updating META-INF/services/ file with actual location of
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Version 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
Version 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
ویژگیهای جدید
- Introduces
TiltGestureAPI, providing a reactiveFlowfor stable detection of device tilt (UP/DOWN) state with transition progress. ( Ic269f , b/448152779 ) - ARCore for Jetpack XR now uses the XR Runtime Logging mechanism. See
androidx.xr.runtime.Logfor more information. ( l52735 , b/448697662 )
API Changes
-
Geospatial.createPoseFromGeospatialPosenow works on OpenXR-enabled devices. ( l362c6 )
Version 1.0.0-alpha09
۳ دسامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
۱۹ نوامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
ویژگیهای جدید
-
ARCorefor Jetpack XR now supports devices where Google Play Services for AR is available. - Added Geospatial APIs for VPS Availability and pose conversion ( I144dc )
Version 1.0.0-alpha07
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
رفع اشکالات
-
:xr:arcore:arcore-openxradded as an implementation dependency to:xr:arcore:arcore( I47315 , b/446999229 )
Version 1.0.0-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
API Changes
- Testing support for
ARCorehas migrated to thexr:arcore:arcore-testingmodule. ( I25469 ) - Adding
ArDeviceandRenderViewpointto allow applications to retrieve the device's pose and display configuration for rendering purposes. ( Ib7e3f ) - Rename
HandJointTypeenums withHAND_JOINT_TYPE_prefix. ( I3f7cd ) -
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) -
Hand.Statenow exposes ajava.nio.FloatBufferwith the joint poses in a format that allows easy access to performance-oriented applications. ( I55e27 )
Version 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 , and androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits .
ویژگیهای جدید
- Add
getPrimaryHandSideso the developer could get the hand side info ( I270bd ) - Add geospatial check VPS availability API ( I58573 )
- Add ARCore API for
checkVpsAvailability( Idbded ) -
stateFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( I083aa , b/427247794 )
API Changes
- Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - The main ARCore artifact (xr:arcore:arcore) will only contain Kotlin-style async APIs. Java developers can depend on the
xr:arcore:arcore-rxjava3library to access compatible APIs. ( Ia525e , b/422794329 ) - The main ARCore artifact (
xr:scenecore:scenecore) will only contain Kotlin-style async APIs. Java developers can depend on thexr:arcore:arcore-guavalibrary to access compatible APIs. ( Iffcb4 , b/422773524 ) -
Anchor.persistAsync()added toAnchorGuavafor usage by Java developers. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)added toEarthGuavafor usage by Java developers. ( I66357 , b/425992992 ) - Java developers will use the extension functions for
GltfModel.createAsyncinGltfModel.kt. Async functions inGltfModelwill be deleted. ( I0af60 ) - 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 ) -
subscribeAsFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( Id3e49 , b/427277298 )
Version 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .
API Changes
- Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed. ( Idb6b5 )
-
TrackingStateandHandJointTypehave been moved from ARCore to Runtime. -
Hand.State.isActive (boolean)has been changed toHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadreturnsAnchor.AnchorLoadInvalidUuidif the UUID is invalid.
Version 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 is released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .
ویژگیهای جدید
- Added hand tracking support. Use
Hand.leftandHand.rightto access the tracking information. - APIs that generate an anchor (
Anchor.create,Anchor.load,Plane.createAnchor) now all returnAnchorCreateResultand properly implementAnchorCreateResourcesExhausted.
رفع اشکالات
-
Anchor.detachno longer causes a fatal crash due to a race condition with the Session update thread. -
Anchor.createis more stable when running on an emulator
Version 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 is released.
Features of initial release
Inspired by the existing ARCore library, the ARCore for Jetpack XR library provides capabilities for blending digital content with the real world. This library includes motion tracking, persistent anchors, hit testing, and plane identification with semantic labeling (for example, floor, walls, and tabletops). View the developer guide to learn more about working with ARCore for Jetpack XR.
Session: ARCore for Jetpack XR uses the Jetpack XR Runtime under-the-hood to power its functionality. You will use a Session to interact with most ARCore for Jetpack XR APIs, so please take a look at its documentation.Plane: Use planes to understand the world around you. Each plane has aLabelthat describes it semantically. You can usesubscribeto be notified about the latest detected planes orstateto be notified about the changes to a specific plane.Anchor: A link between a virtual object and a real world location. Anchors can be attached to a specific location in space (usingcreate) or aTrackable(usingcreateAnchor).Anchors can be reused across sessions. You can use
persistto store them,getPersistedAnchorUuidsto enumerate them andloadto retrieve them. Make sure that youunpersistthem once they are no longer in use.Anchors are interoperable between ARCore for Jetpack XR and Jetpack SceneCore. You can create an
AnchorEntityusing an anchor or, if you have an existing AnchorEntity, you can usegetAnchorto retrieve its backing anchor.Offer natural user interactions using
hitTest. A hitTest uses aRayto determine which contents it intersects and to create anAnchorfrom that location. Consider conducting a hitTest from anInputEvent.
مشکلات شناخته شده
There might be a delay between calling
unpersistand its UUID being removed from the results returned bygetPersistedAnchorUuids.createwill not validate that the system has enough resources to return new anchors. Creating an excessive amount of anchors might lead to a crash.Persisting an Anchor that was previously persisted and unpersisted is not currently supported.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.
ARCore for Jetpack XR
| آخرین بهروزرسانی | انتشار پایدار | Release Candidate | انتشار بتا | Alpha Release |
|---|---|---|---|---|
| ۹ سپتامبر ۲۰۲۶ | - | 1.0.0-rc01 | - | - |
Declaring dependencies
To add a dependency on ARCore for Jetpack XR, 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.arcore:arcore:1.0.0-rc01" }
کاتلین
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc01") }
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.0.0-rc01
۹ سپتامبر ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits .
Version 1.0.0-beta02
۱۲ آگوست ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta02 is released. Version 1.0.0-beta02 contains these commits .
رفع اشکالات
- Fix concurrency issue in
OpenXRanchor persistence. ( I15c8b ) - Implemented
toString()in more classes for debugging. ( I587e8 )
Version 1.0.0-beta01
۱۵ ژوئیه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits .
API Changes
- Updated resizable modifier to use a
ResizePolicyinstead of two modifiers ( I7fb0f , b/496257436 , b/519672992 ) - Added movable overload with
movePolicyparam and deprecatetransformingMovableandmovable( Ic88c1 , b/481781189 ) - Removed
TrackingState.TRACKING_DEGRADED from public API surface and map runtime degraded states to PAUSED instead. UpdateTrackingStateto use enums instead of int values for string conversion and runtime conversion. ( I3eb5b , b/524326338 ) - Converted Session.create to a suspend function. ( I5d27f )
- Deprecated the
ProjectedPermissionsResultContract( I141d5 , b/515699436 ) - Updated
AnchorEntityto be calledAnchorSpace( Ifa95e , b/513619219 )
Version 1.0.0-alpha15
۱۷ ژوئن ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha15 is released. Version 1.0.0-alpha15 contains these commits .
API Changes
-
HitResult.createAnchorwas removed. Developers can create an anchor representing theHitResultif the trackable of the result is anAnchorableby supplying the hit position to thecreateAnchorfunction of theAnchorable. ( Ia851e ) -
AnchorUnsupportedObjectwas removed. It is no longer thrown by a JXR ARCore runtime. ( Ia851e ) -
androidx.xr.arcore.Anchorandandroidx.xr.arcore.ArDevicenow implementandroidx.xr.arcore.Trackable. ( I57b65 ) -
Depth.left,Depth.right, andDepth.monoare now non-nullable ( I1fc5e ) -
Face.getUserFaceis now non-nullable ( I0eac1 ) -
RenderViewpoint.left,RenderViewpoint.right,RenderViewpoint.monoare now non-nullable ( Icf7fa ) -
Hand.leftandHand.rightare non non-nullable ( Icef37 ) - Added
QrCodeAPI ( Ia0bbe )
Version 1.0.0-alpha14
۱۹ مه ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - Custom anchor exception classes:
AnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectExceptionare nowRuntimeExceptioninstances, not intended to be checked. ( I9356e ) - Added
ArCoreTestRuleAPI, includingTestArDevice,TestAugmentableObject,TestDepthMap,TestEye,TestFace,TestGeospatial,TestHand,TestPlane,TestRenderViewpoint, &TestTrackable( I0ad3c ) - Removes
AnchorLoadInvalidUuid,AnchorCreateUnsupportedObject,AnchorCreateUnsupportedLocation, andAnchorCreateNotAuthorized. All of these errors are now exceptions in the runtime. RemovesAnchorCreateIllegalState. This has been replaced withAnchorCreateTrackingUnavailablein most cases. AddsAnchorExceptionand derived classesAnchorInvalidUuidException,AnchorNotAuthorizedException,AnchorUnsupportedLocationException,AnchorRuntimeFailureException, andAnchorUnsupportedObjectException. ( I4c4dd )
External Contribution
- Added
AugmentedImageAPI for custom marker tracking ( I0cf09 )
Version 1.0.0-alpha13
۶ مه ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - Renamed
Plane.TypetoPlaneType. ( I8c90c , b/482675376 ) - Renamed
Hand.HandSidetoHandSide. ( Ica562 , b/482675376 ) - Renamed
Plane.LabeltoPlaneLabel. ( Ic6b67 , b/482675376 ) - Renamed
Geospatial.SurfacetoGeospatialSurface. ( I1a8be , b/482675376 ) - Renamed
Geospatial.StatetoGeospatialState. ( I203fa , b/482675376 ) - 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 ) - Changed Orbiter to use either an
OrbiterAnchorPoint + VolumeOffsetor anOrbiterPoseProviderinstead of position, offset, offsetType, alignment, and elevation. Also removed theshouldRenderInNonSpatialparameter. If the developer does not want the orbiter to render in non-spatial they should wrap the orbiter in an if statement and check theSpatialCapabilities. ( I9fbb3 , b/462428503 ) - Added movable modifiers. These modifiers work well, right now, for
SpatialPanelsandSpatialExternalSurface. Very soon they will also be supported forSpatialGltfModels. However, the intention is to have these supported well for allSubspaceComposables. ( I9a3cd , b/479530787 , b/478935063 , b/478935063 ) - Developers are expected to observe the
ArDevice.stateFlow to monitorState.trackingStateand adjust their application's rendering or warnings accordingly based on the tracking fidelity. ( Ic00f0 , b/445466590 ) - Renamed
HandJointTypeenum values. ( Ifbc83 , b/482670596 ) - Renamed
FaceConfidenceRegionconstants. ( Ia62d5 , b/482670596 ) - Renamed
FaceBlendShapeTypeconstants. ( I33b8b , b/482670596 ) - Added
CreatePoseFromGeospatialPoseErrorInternalandCreateGeospatialPoseFromPoseErrorInternal. ( I4bcf1 , b/482666615 ) - Renamed
DeviceTrackingMode.LAST_KNOWNtoSPATIAL_LAST_KNOWN(with a deprecated fallback), addedINERTIAL_LAST_KNOWNfor 3DoF tracking, and addedTRACKING_DEGRADEDtoTrackingState. ( Ie661c , b/445466590 ) - Deprecated
GroupEntity. To have an Entity with only the base Entity functionality, callEntity.createwhich will return and Entity interface. ( I4c450 , b/473867483 ) - Added
XrLogAPI. SetXrLog.isEnabledtotrueto enable logging in JetpackXR, and useXrLog.Levelto set the log level. ( I76a1f , b/463460895 , b/487378441 )
رفع اشکالات
- Add the device tracking state support to the openxr devices. ( I91485 , b/445466590 )
Version 1.0.0-alpha12
۲۵ مارس ۲۰۲۶
androidx.xr.arcore:arcore-*: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 ) - The types
androidx.xr.arcore.Eyeandandroidx.xr.arcore.Hand. ( I42438 , b/449032900 ) - Added
Session.createoverload to allow passing an Android Context for resource-scoping. ( I7d3fe , b/415805990 , b/477386334 ) - Changes
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITtoFakeRuntimeAnchor.anchorResourceLimit. ( I90841 , b/431992235 ) - Making
TiltGestureAPI experimental as it may be changed or removed in the future. To use this api, opt in to@ExperimentalGesturesApi( Ic9858 ) - Added ability to set categories for
AugmentedObjecttracking in the Config ( I1f6e4 , b/480220930 )
رفع اشکالات
- Fixed Chrome's build by updating META-INF/services/ file with actual location of
PerceptionRuntimeFactory. ( I7a801 , b/481288291 )
Version 1.0.0-alpha11
۲۵ فوریه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits .
Version 1.0.0-alpha10
۲۸ ژانویه ۲۰۲۶
androidx.xr.arcore:arcore-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits .
ویژگیهای جدید
- Introduces
TiltGestureAPI, providing a reactiveFlowfor stable detection of device tilt (UP/DOWN) state with transition progress. ( Ic269f , b/448152779 ) - ARCore for Jetpack XR now uses the XR Runtime Logging mechanism. See
androidx.xr.runtime.Logfor more information. ( l52735 , b/448697662 )
API Changes
-
Geospatial.createPoseFromGeospatialPosenow works on OpenXR-enabled devices. ( l362c6 )
Version 1.0.0-alpha09
۳ دسامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits .
Version 1.0.0-alpha08
۱۹ نوامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits .
ویژگیهای جدید
-
ARCorefor Jetpack XR now supports devices where Google Play Services for AR is available. - Added Geospatial APIs for VPS Availability and pose conversion ( I144dc )
Version 1.0.0-alpha07
۲۲ اکتبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits .
رفع اشکالات
-
:xr:arcore:arcore-openxradded as an implementation dependency to:xr:arcore:arcore( I47315 , b/446999229 )
Version 1.0.0-alpha06
۲۴ سپتامبر ۲۰۲۵
androidx.xr.arcore:arcore-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits .
API Changes
- Testing support for
ARCorehas migrated to thexr:arcore:arcore-testingmodule. ( I25469 ) - Adding
ArDeviceandRenderViewpointto allow applications to retrieve the device's pose and display configuration for rendering purposes. ( Ib7e3f ) - Rename
HandJointTypeenums withHAND_JOINT_TYPE_prefix. ( I3f7cd ) -
HandJointTypehas been moved toxr:arcore:arcorefromxr:runtime:runtime. ( Iadb9c , b/409058039 ) -
Hand.Statenow exposes ajava.nio.FloatBufferwith the joint poses in a format that allows easy access to performance-oriented applications. ( I55e27 )
Version 1.0.0-alpha05
۳۰ ژوئیه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha05 , androidx.xr.arcore:arcore-guava:1.0.0-alpha05 , and androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 are released. Version 1.0.0-alpha05 contains these commits .
ویژگیهای جدید
- Add
getPrimaryHandSideso the developer could get the hand side info ( I270bd ) - Add geospatial check VPS availability API ( I58573 )
- Add ARCore API for
checkVpsAvailability( Idbded ) -
stateFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( I083aa , b/427247794 )
API Changes
- Config
*Modevals have been renamed to reflect their behavior. ( I6d247 , b/414648065 ) - The main ARCore artifact (xr:arcore:arcore) will only contain Kotlin-style async APIs. Java developers can depend on the
xr:arcore:arcore-rxjava3library to access compatible APIs. ( Ia525e , b/422794329 ) - The main ARCore artifact (
xr:scenecore:scenecore) will only contain Kotlin-style async APIs. Java developers can depend on thexr:arcore:arcore-guavalibrary to access compatible APIs. ( Iffcb4 , b/422773524 ) -
Anchor.persistAsync()added toAnchorGuavafor usage by Java developers. ( I4af1c , b/425984631 ) -
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)added toEarthGuavafor usage by Java developers. ( I66357 , b/425992992 ) - Java developers will use the extension functions for
GltfModel.createAsyncinGltfModel.kt. Async functions inGltfModelwill be deleted. ( I0af60 ) - 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 ) -
subscribeAsFlowableextension functions added to:xr:arcore:arcore-rxjava3for usage by Java developers. ( Id3e49 , b/427277298 )
Version 1.0.0-alpha04
۷ مه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits .
API Changes
- Projects released with Kotlin 2.0 require KGP 2.0.0 or newer to be consumed. ( Idb6b5 )
-
TrackingStateandHandJointTypehave been moved from ARCore to Runtime. -
Hand.State.isActive (boolean)has been changed toHand.State.trackingState (androidx.xr.runtime.TrackingState). -
Anchor.loadreturnsAnchor.AnchorLoadInvalidUuidif the UUID is invalid.
Version 1.0.0-alpha03
۲۶ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha03 is released with no notable changes since the last alpha. Version 1.0.0-alpha03 contains these commits .
Version 1.0.0-alpha02
۱۲ فوریه ۲۰۲۵
androidx.xr.arcore:arcore:1.0.0-alpha02 is released. Version 1.0.0-alpha02 contains these commits .
ویژگیهای جدید
- Added hand tracking support. Use
Hand.leftandHand.rightto access the tracking information. - APIs that generate an anchor (
Anchor.create,Anchor.load,Plane.createAnchor) now all returnAnchorCreateResultand properly implementAnchorCreateResourcesExhausted.
رفع اشکالات
-
Anchor.detachno longer causes a fatal crash due to a race condition with the Session update thread. -
Anchor.createis more stable when running on an emulator
Version 1.0.0-alpha01
۱۲ دسامبر ۲۰۲۴
androidx.xr.arcore:arcore-* 1.0.0-alpha01 is released.
Features of initial release
Inspired by the existing ARCore library, the ARCore for Jetpack XR library provides capabilities for blending digital content with the real world. This library includes motion tracking, persistent anchors, hit testing, and plane identification with semantic labeling (for example, floor, walls, and tabletops). View the developer guide to learn more about working with ARCore for Jetpack XR.
Session: ARCore for Jetpack XR uses the Jetpack XR Runtime under-the-hood to power its functionality. You will use a Session to interact with most ARCore for Jetpack XR APIs, so please take a look at its documentation.Plane: Use planes to understand the world around you. Each plane has aLabelthat describes it semantically. You can usesubscribeto be notified about the latest detected planes orstateto be notified about the changes to a specific plane.Anchor: A link between a virtual object and a real world location. Anchors can be attached to a specific location in space (usingcreate) or aTrackable(usingcreateAnchor).Anchors can be reused across sessions. You can use
persistto store them,getPersistedAnchorUuidsto enumerate them andloadto retrieve them. Make sure that youunpersistthem once they are no longer in use.Anchors are interoperable between ARCore for Jetpack XR and Jetpack SceneCore. You can create an
AnchorEntityusing an anchor or, if you have an existing AnchorEntity, you can usegetAnchorto retrieve its backing anchor.Offer natural user interactions using
hitTest. A hitTest uses aRayto determine which contents it intersects and to create anAnchorfrom that location. Consider conducting a hitTest from anInputEvent.
مشکلات شناخته شده
There might be a delay between calling
unpersistand its UUID being removed from the results returned bygetPersistedAnchorUuids.createwill not validate that the system has enough resources to return new anchors. Creating an excessive amount of anchors might lead to a crash.Persisting an Anchor that was previously persisted and unpersisted is not currently supported.
Usage in the emulator is supported, but the behavior might not be as stable as when running on an actual device. Particularly, calls to
createmight fail with a native code error and immediately terminate the activity.In certain circumstances, a
RuntimeExceptionmight be erroneously thrown when callingpersistwith the message “Anchor was not persisted”. In those circumstances, the function would still succeed and the anchor will be persisted. We recommend wrapping the call topersistwith atryblock as a workaround.