סביבת זמן ריצה ל-XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 17 ביוני 2026 | - | - | - | 1.0.0-alpha15 |
הצהרה על יחסי תלות
כדי להוסיף תלות בזמן הריצה של XR, צריך להוסיף את מאגר Maven של Google לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha15" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha15" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha15") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha15") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 1.0.0-alpha15
17 ביוני 2026
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)
גרסה 1.0.0-alpha14
19 במאי 2026
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צריכים לעבור לגרסהandroidx.xr.runtime.math. (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, הקבוע הזה משמש בקובץ המניפסט כדי לציין שהמערכת צריכה לזהות את הפעילות כמשגר. (Ia3069)
External Contribution
- הוספת
AugmentedImageModeל-APIConfig(I0cf09)
גרסה 1.0.0-alpha13
6 במאי 2026
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) - העברנו את
NativeDataAPI לספרייתxr:runtime:runtime. (I87954, b/494251500) - הפונקציות
Session.createו-Session.configureכבר לא ממצות את כל האפשרויות ונדרשים משפטי else במשפטי when. (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) - נוסף API
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) - נוסף
XrLogAPI. מגדירים אתXrLog.isEnabledל-trueכדי להפעיל את הרישום ביומן ב-JetpackXR, ומשתמשים ב-[XrLog.Level] כדי להגדיר את רמת היומן. (I76a1f, b/463460895, b/487378441) - הוספה של
DISPLAY_CATEGORY_XR_PROJECTED, הקבוע הזה משמש בקובץ המניפסט כדי לציין שהפעילות מיועדת לתצוגה מוקרנת של XR (I26d8b)
גרסה 1.0.0-alpha12
25 במרץ 2026
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 לצורך הגדרת היקף המשאבים. (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)
גרסה 1.0.0-alpha11
25 בפברואר 2026
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כדי לעזור בשליחת שאילתה לגבי גרסת זמן הריצה של Android XR שזמינה בפלטפורמה. (I7c53c) - נוסף מודול
xr:runtime:runtime-openxr (Ib42ea)
גרסה 1.0.0-alpha10
28 בינואר 2026
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. השיטות האלה מיותרות, כי כל הקווטרניונים מנורמלים בזמן הבנייה, והמחלקות הן בלתי משתנות. (l558fc, b/460210457)
תיקוני באגים
- הוספנו תיעוד ל-
Session.createשמדגים איך להימנע מיצירת סשן ב-thread הראשי של האפליקציה. (le5554, b/463687170) - נמנעה יצירה של
BoundingBoxעם ערךNaNבאפליקציות. (l58c14, b/464025895)
גרסה 1.0.0-alpha09
3 בדצמבר 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
גרסה 1.0.0-alpha08
19 בנובמבר 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו את
XrDeviceכדי לספק מידע על היכולות של המכשיר. (Ic9d1f) - הוספנו
ConfigMode.isSupportedAPI חדש להרצת שאילתות לגבי יכולות של סשן. (Iff7af) - נוסף
XrDisplay.BlendModeAPI. (I484e4)
שינויים ב-API
- השם של [XrDevice.getPreferredBlendMode] שונה ל-[XrDevice.getPreferredDisplayBlendMode]. (I7e48f)
גרסה 1.0.0-alpha07
22 באוקטובר 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- מסירים את
SessionConfigureConfigureNotSupportedומחליפים אותו ב-UnsupportedOperationException. (I7680f)
גרסה 1.0.0-alpha06
24 בספטמבר 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
שינויים ב-API
- הפריט
HandJointTypeהועבר מ-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)
גרסה 1.0.0-alpha05
30 ביולי 2025
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) - נוספה עומס יתר נוסף ל-
Session.createשיכול לספקLifecycleOwnerכדי שהסשן יצורף אליו. שימו לב: עדיין צריך לספק פעילות כדי להוכיח בעלות על משאב, והתגLifecycleOwnerצריך להיות מוגדר בהיקף של הפעילות. (I1690b) - שינוי השם של
FakeRuntimeAnchor.anchorsCreatedל-anchorsCreatedCount(I96df9, b/424441218) - השמות של ערכי ההגדרות
*Modeשונו כדי לשקף את ההתנהגות שלהם. (I6d247, b/414648065) - כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP 2.0.0 או גרסה חדשה יותר (Idb6b5, b/344563182)
- ממשקי API שקשורים למחרוזות של מניפסט הועברו מ-
:xr:runtime:runtimeאל:xr:runtime:runtime-manifest. שם החבילה השתנה מ-androidx.xr.runtimeל-androidx.xr.runtime.manifest. (I610ad, b/418800249) - הפונקציות
Session.resume(),Session.pause()ו-Session.destroy()הוסרו מ-API surface. הסשן כבר לאLifecycleOwner. מחזור החיים של הסשן יצורף עכשיו למחזור החיים של הפעילות שהועברה ב-Session.create(). (I28a03) - הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחי Kotlin צריכים להשתמש בארגומנט הבא של הקומפיילר כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זוהי ברירת המחדל החל מגרסה 2.1.0 של הקומפיילר של Kotlin) (Ia8420, b/326456246) - הארטיפקט הראשי של זמן הריצה (
:xr:runtime:runtime) יכיל רק ממשקי API אסינכרוניים בסגנון Kolin. מפתחי Java יכולים להסתמך על:xr:runtime:runtime-guavaכדי לגשת לממשקי API תואמים. (I05d4a, b/426639315) - הארטיפקט הראשי של זמן הריצה (
:xr:runtime:runtime) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על ספרייתxr:runtime:runtime-rxjava3כדי לגשת לממשקי API תואמים. (I64122, b/426639775) - העברה של קורוטינות אל
:xr:runtime:runtime-guavaושל Flows אל:xr:runtime:runtime-rxjava3. (I60ae9) -
Session.createו-Session.configureמחזירים עכשיוSecurityExceptionכשלא ניתנו הרשאות מספיקות, במקום להחזירSessionCreatePermissionsNotGrantedאוSessionConfigurePermissionsNotGranted. (I7c488, b/430651879)
גרסה 1.0.0-alpha04
7 במאי 2025
הגרסאות של androidx.xr.runtime:runtime:1.0.0-alpha04, androidx.xr.runtime:runtime-openxr:1.0.0-alpha04 וגם androidx.xr.runtime:runtime-testing:1.0.0-alpha04 יוצאות. גרסה 1.0.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
- המחלקות Session מיישמות עכשיו את
androidx.lifecycle.LifecycleOwnerכדי לשפר את יכולת הפעולה ההדדית עם פרדיגמות מחזור החיים הקיימות של Android. - מחרוזות המניפסט של Android XR מפורטות ומתועדות כאן.
- נוספו שיטות הרחבה של Spatial Visibility Callback כדי לעקוב אחרי תנועה של תוכן הסצנה בתוך שדה הראייה של המשתמש או מחוצה לו.
- הוספנו גרסת stub של
JxrPlatformAdapter(ושל כל הכיתות שקשורות אליה). - הסשן ישמש גם ב-
SceneCoreוגם ב-Runtime במקום הסשן ב-SceneCore. -
ActivityPose.hitTestנוסף, ומאפשרhitTestנגד תוכן וירטואלי. - מעכשיו יש תמיכה בציון של כמה הטמעות של זמן ריצה בזמן ההידור. רק אחד מהם ייטען בזמן ההפעלה, בהתאם למערך התכונות של המכשיר הנוכחי.
- נוסף סוג רכיב חדש
SpatialPointerComponent, שמאפשר ללקוחות לציין את הסמל שמוצג עבור מצביע העכבר או להשבית את הסמל. כרגע אפשר לצרף את הרכיב הזה רק ל-PanelEntityמקרים.
שינויים ב-API
- הופכים את ההטמעה של ההגדרה לגלוי לכולם. (I95860)
- הוספת
HandJointTypeוTrackingState. (I55880) - כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך 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כדי להגדיר את התכונות הזמינות של זמן הריצה. Session.createתומך עכשיו בהעברתCoroutineContextבמקוםCoroutineDispatcher.-
Session.createתומך בטעינתARCoreעבור Jetpack XR אוSceneCore. צריך לספק לפחות אחד (יש גרסאות בדיקה). -
FakePerceptionManagerמחזירה את השגיאהAnchorInvalidUuidExceptionכשמועבר ערך UUID לא תקין ל-Anchor.loadול-Anchor.unpersist. CoreStateכבר לא סיווג נתונים.
תיקוני באגים
- תוקנו הגדרות Proguard של זמן הריצה.
גרסה 1.0.0-alpha03
26 בפברואר 2025
הגרסאות androidx.xr.runtime:runtime:1.0.0-alpha03, androidx.xr.runtime:runtime-openxr:1.0.0-alpha03 ו-androidx.xr.runtime:runtime-testing:1.0.0-alpha03 הושקו ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה 1.0.0-alpha03 מכילה את השמירות האלה.
גרסה 1.0.0-alpha02
12 בפברואר 2025
הגרסאות של androidx.xr.runtime:runtime:1.0.0-alpha02, androidx.xr.runtime:runtime-openxr:1.0.0-alpha02 וגם androidx.xr.runtime:runtime-testing:1.0.0-alpha02 יוצאות. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
שינויים שעלולים לגרום לכשל ושינויים התנהגותיים
- פונקציות של זמן ריצה
OpenXRשמחזירות Anchor, מחזירות עכשיוAnchorResourcesExhaustedExceptionאם הן נתקלות בקוד שגיאה שמודיע שהגעתם למגבלת המשאבים שלOpenXR. - נדרשת עכשיו הרשאה
android.permission.HAND_TRACKINGלשימוש ב-Session.createוב-Session.resume.
תכונות חדשות
- הוספנו תמיכה במעקב ידיים.
תיקוני באגים
- יצירת עוגנים יציבה יותר כשמריצים אותה באמולטור
גרסה 1.0.0-alpha01
12 בדצמבר 2024
androidx.xr.runtime:runtime-* 1.0.0-alpha01 מופץ.
תכונות של הגרסה הראשונית
השקנו גרסה ראשונית של Jetpack XR Runtime. הספרייה הזו מכילה פונקציות בסיסיות של חבילת הספריות Jetpack XR. הפעולות האלה כוללות גילוי יכולות, ניהול מחזור חיים, הגדרה ועוד. ספריית Runtime מספקת וריאציות שונות (לדוגמה, runtime-openxr או runtime-testing) בהתאם לפלטפורמת ההפעלה. בנוסף, הספרייה הזו מציעה הפשטות מתמטיות בסיסיות כמו Vector3 ו-Matrix4, שמשמשות בכל ממשק Jetpack XR API.
Session: מאפשר לכם שליטה מדויקת במערכת ה-XR, כולל החלטה מתי העיבוד מתבצע ומתי לא, וההגדרה הכוללת. זה גם ה-handle שבו תשתמשו בכל שאר ממשקי ה-API כדי לפתוח את היכולות הבסיסיות של המערכת.
Pose: מיקום במערכת קואורדינטות שרירותית שיש לו מיקום ואוריינטציה שמשויכים אליו. תשתמשו במחלקה הזו כדי להעביר את המיקום של אובייקטים ל-ARCore for Jetpack XR ול-Jetpack SceneCore.
בעיות מוכרות
- ההגדרה
configureלא מבצעת כרגע פעולה כלשהי. בגרסאות עתידיות נוסיף הגדרות חדשות שתוכלו להשתמש בהן כדי לשלוט בהתנהגות שלSession.