זמן ריצה ל-XR
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
30 ביולי 2025 | - | - | - | 1.0.0-alpha05 |
הצהרה על יחסי תלות
כדי להוסיף תלות בזמן הריצה של XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר Google's Maven repository (מאגר Maven של Google).
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle
של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.runtime:runtime:1.0.0-alpha05" // Use in environments that do not support OpenXR testImplementation "androidx.xr.runtime:runtime-testing:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.xr.runtime:runtime:1.0.0-alpha05") // Use in environments that do not support OpenXR testImplementation("androidx.xr.runtime:runtime-testing:1.0.0-alpha05") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
גירסה 1.0
גרסה 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) - הארטיפקט הראשי של זמן הריצה (
: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 מפורטות ומתועדות כאן.
- נוספו שיטות הרחבה של Spatial Visibility Callback כדי לעקוב אחרי תנועת התוכן בסצנה בתוך שדה הראייה של המשתמש או מחוצה לו.
- נוספה גרסת stub של
JxrPlatformAdapter
(וכל הכיתות שקשורות אליה). - הסשן ישמש גם ב-
SceneCore
וגם ב-Runtime במקום הסשן ב-SceneCore
. - הוספנו את
ActivityPose.hitTest
, שמאפשרhitTest
נגד תוכן וירטואלי. - מעכשיו יש תמיכה בהגדרה של כמה הטמעות של Runtime בזמן ההידור. רק אחד מהם ייטען בזמן ההפעלה, בהתאם לסט התכונות של המכשיר הנוכחי.
- נוסף סוג רכיב חדש
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 עבור Jetpack XR ו-Jetpack SceneCore.
בעיות מוכרות
- כרגע,
configure
לא מבצעת פעולה כלשהי. בגרסאות עתידיות יתווספו הגדרות חדשות שתוכלו להשתמש בהן כדי לשלוט בהתנהגות שלSession
.