סביבת זמן ריצה ל-XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 19 בנובמבר 2025 | - | - | - | 1.0.0-alpha08 |
הצהרה על יחסי תלות
כדי להוסיף תלות בזמן הריצה של XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר Google's Maven repository
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha08" // Optional dependencies for asynchronous conversions implementation "androidx.xr.runtime:runtime-guava:1.0.0-alpha08" implementation "androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha08" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha08" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha08") // Optional dependencies for asynchronous conversions implementation("androidx.xr.runtime:runtime-guava:1.0.0-alpha08") implementation("androidx.xr.runtime:runtime-rxjava3:1.0.0-alpha08") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha08") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא הכלי למעקב אחר בעיות.
גירסה 1.0
גרסה 1.0.0-alpha08
19 בנובמבר 2025
androidx.xr.runtime:runtime-*:1.0.0-alpha08 משוחרר. גרסה 1.0.0-alpha08 מכילה את הקומטים האלה.
תכונות חדשות
- הוספנו את
XrDeviceכדי לספק מידע על היכולות של המכשיר. (Ic9d1f) - הוספנו
ConfigMode.isSupportedAPI חדש להרצת שאילתות לגבי יכולות של סשנים. (Iff7af) - נוסף API של
XrDisplay.BlendMode. (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תוסר כי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) - הופכים את ההטמעה של 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) - הספרייה הזו משתמשת עכשיו בהערות לגבי ערכי null של JSpecify, שהן הערות לשימוש בסוגים. מפתחי 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) - הארטיפקט הראשי של Runtime (
: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כשמעבירים ל-Anchor.loadול-Anchor.unpersistמספר UUID לא תקין. -
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.