זמן ריצה ל-XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 25 במרץ 2026 | - | - | - | 1.0.0-alpha12 |
הצהרה על יחסי תלות
כדי להוסיף תלות בזמן הריצה של XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר Google's Maven repository
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha12" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha12") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha12") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha12") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 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.createoverload כדי לאפשר העברה של הקשר 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:arcore:arcoreמ-xr:runtime:runtime. (Iadb9c, b/409058039) - שינוי אופרטור הכפל של
componentWiseMultiplicationעבורVector2,Vector3,Vector4כדי לשנות את קנה המידה והסרת סמל האופרטור כדי לשמור על עקביות עם ספריות מתמטיות אחרות. בנוסף, אנחנו מסירים אתcomponentWiseDivisionמהמחלקות Vector במקום להשתמש ב-Vector.scale(otherVector.inverse()). (I8e1f6, b/399146447) - הוספת [unscaled] כדי להחזיר מטריצה עם קנה מידה של אחד. (I6381d, b/434928658)
- האפשרות
:xr:runtime:runtime-guavaתוסר כי היא הוחלפה בSuspendtoFutureAdapter.Coroutines.kt(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) - הופכים את ההטמעה של Config לציבורית. (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) - הוסרו מה-API surface
Session.resume(),Session.pause()ו-Session.destroy(). הסשן כבר לאLifecycleOwner. מחזור החיים של הסשן יצורף עכשיו למחזור החיים של הפעילות שהועברה ב-Session.create(). (I28a03) - הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify לגבי ערכי null, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט הקומפיילר הבא כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זוהי ברירת המחדל החל מגרסה 2.1.0 של קומפיילר Kotlin) (Ia8420, b/326456246) - הארטיפקט הראשי של Runtime (
: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) - העברת Coroutines אל
: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 מפורטות ומתועדות כאן.
- נוספו שיטות הרחבה של קריאה חוזרת (callback) לנראות מרחבית כדי לעקוב אחרי תנועת התוכן בסצנה בתוך שדה הראייה של המשתמש או מחוצה לו.
- הוספנו גרסת stub של
JxrPlatformAdapter(ושל כל הכיתות שקשורות אליה). - הסשן ישמש גם ב-
SceneCoreוגם ב-Runtime במקום הסשן ב-SceneCore. -
ActivityPose.hitTestנוסף, ומאפשרhitTestנגד תוכן וירטואלי. - מעכשיו יש תמיכה בציון של כמה הטמעות של סביבת זמן ריצה בזמן ההידור. רק אחד מהם ייטען בזמן ההרצה, בהתאם לסט התכונות של המכשיר הנוכחי.
- נוסף סוג רכיב חדש
SpatialPointerComponent, שמאפשר ללקוחות לציין את הסמל שמוצג עבור מצביע העכבר, או להשבית את הסמל. נכון לעכשיו, אפשר לצרף את הרכיב הזה רק למופעים שלPanelEntity.
שינויים ב-API
- הופכים את ההטמעה של Config לציבורית. (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-openxr או runtime-testing) בהתאם לפלטפורמת ההפעלה. בנוסף, הספרייה הזו מציעה הפשטות מתמטיות בסיסיות כמו Vector3 ו-Matrix4, שמשמשות בכל ממשקי Jetpack XR API.
Session: מספק לכם אמצעי בקרה מפורטים על מערכת ה-XR, כולל האפשרות להחליט מתי העיבוד מתבצע ומתי לא, וההגדרה הכוללת. זה גם ה-handle שבו תשתמשו בכל שאר ממשקי ה-API כדי להפעיל את היכולות הבסיסיות של המערכת.
Pose: מיקום במערכת קואורדינטות שרירותית שיש לו מיקום ואוריינטציה שמשויכים אליו. תשתמשו במחלקה הזו כדי להעביר את המיקום של אובייקטים ל-ARCore for Jetpack XR ול-Jetpack SceneCore.
בעיות מוכרות
- התג
configureלא מבצע כרגע פעולה כלשהי. בגרסאות עתידיות נוסיף הגדרות חדשות שתוכלו להשתמש בהן כדי לשלוט בהתנהגות שלSession.