‫ARCore for Jetpack XR

היכולות של תפיסת המציאות מאפשרות להציג תוכן דיגיטלי בעולם האמיתי.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫9 בספטמבר 2026 - ‎1.0.0-rc01 - -

הצהרה על יחסי תלות

כדי להוסיף תלות ב-ARCore ל-Jetpack XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-rc01")
}

מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גירסה 1.0

גרסה 1.0.0-rc01

‫9 בספטמבר 2026

‫androidx.xr.arcore:arcore-*:1.0.0-rc01 מופץ. גרסה ‎1.0.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.0.0-beta02

‫12 באוגוסט 2026

‫androidx.xr.arcore:arcore-*:1.0.0-beta02 מופץ. גרסה ‎1.0.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון בעיה של פעולות שמתבצעות בו-זמנית ב-OpenXR anchor persistence. (I15c8b)
  • הטמענו את toString() בעוד כיתות לצורך ניפוי באגים. (I587e8)

גרסה ‎1.0.0-beta01

‫15 ביולי 2026

‫androidx.xr.arcore:arcore-*:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • העדכון של התאמה לשינוי גודל מאפשר להשתמש ב-ResizePolicy במקום בשני משנים (I7fb0f, ‏ b/496257436, ‏ b/519672992)
  • נוספה עומס יתר שניתן להעברה עם הפרמטר movePolicy, והוצאו משימוש הפונקציות transformingMovable ו-movable (Ic88c1,‏ b/481781189)
  • הוסר TrackingState.TRACKING_DEGRADED מ-API ציבורי, ומצבי זמן ריצה של המפה הועברו למצב PAUSED במקום זאת. מעדכנים את TrackingState כדי להשתמש בערכים מסוג enum במקום בערכים מסוג int להמרת מחרוזות ולהמרת זמן ריצה. (I3eb5b, ‏ b/524326338)
  • הפונקציה Converted Session.create הומרה לפונקציית השהיה. (I5d27f)
  • הוצאנו משימוש את ProjectedPermissionsResultContract (I141d5, b/515699436)
  • השם של AnchorEntity עודכן ל-AnchorSpace (Ifa95e, b/513619219)

גרסה ‎1.0.0-alpha15

‫17 ביוני 2026

‫androidx.xr.arcore:arcore-*:1.0.0-alpha15 מופץ. גרסה ‎1.0.0-alpha15 מכילה את השמירות האלה.

שינויים ב-API

  • השדה HitResult.createAnchor הוסר. מפתחים יכולים ליצור עוגן שמייצג את HitResult אם הרכיב שאפשר לעקוב אחריו בתוצאה הוא Anchorable, על ידי העברת מיקום ההיט לפונקציה createAnchor של Anchorable. (Ia851e)
  • השדה AnchorUnsupportedObject הוסר. השגיאה הזו לא מופיעה יותר בזמן ריצה של JXR ARCore. (Ia851e)
  • androidx.xr.arcore.Anchor ו-androidx.xr.arcore.ArDevice מטמיעים עכשיו את androidx.xr.arcore.Trackable. (I57b65)
  • השדות Depth.left,‏ Depth.right ו-Depth.mono לא יכולים יותר להכיל ערך null (I1fc5e)
  • השדה Face.getUserFace לא יכול להיות יותר null (I0eac1)
  • השדות RenderViewpoint.left,‏ RenderViewpoint.right ו-RenderViewpoint.mono לא יכולים להיות ריקים (Icf7fa)
  • המאפיינים Hand.left ו-Hand.right הם לא nullable (Icef37)
  • נוסף QrCode API‏ (Ia0bbe)

גרסה ‎1.0.0-alpha14

‫19 במאי 2026

‫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)

External Contribution

  • הוספנו AugmentedImage API למעקב אחרי סמנים בהתאמה אישית (I0cf09)

גרסה ‎1.0.0-alpha13

‫6 במאי 2026

‫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)
  • העברנו את NativeData API לספרייה 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)
  • השתנה: Orbiter משתמש עכשיו ב-OrbiterAnchorPoint + VolumeOffset או ב-OrbiterPoseProvider במקום ב-position,‏ offset,‏ offsetType,‏ alignment ו-elevation. הוסר גם הפרמטר shouldRenderInNonSpatial. אם המפתח לא רוצה שהאובייקט ירוץ במיקום לא מרחבי, הוא צריך להוסיף אותו לתוך משפט if ולבדוק את SpatialCapabilities. (I9fbb3, ‏ b/462428503)
  • נוספו שינויים שאפשר להזיז. ההגדרות האלה פועלות כרגע בצורה טובה ב-SpatialPanels וב-SpatialExternalSurface. בקרוב תהיה תמיכה גם ב-SpatialGltfModels. עם זאת, המטרה היא לתמוך בהן היטב בכל SubspaceComposables. (I9a3cd, ‏ b/479530787, ‏ b/478935063, ‏ b/478935063)
  • המפתחים צריכים לעקוב אחרי ArDevice.state הזרימה כדי לעקוב אחרי State.trackingState ולהתאים את העיבוד או האזהרות של האפליקציה בהתאם לדיוק המעקב. (Ic00f0, ‏ b/445466590)
  • השם של ערכי ה-enum‏ 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)
  • נוסף API של XrLog. מגדירים את XrLog.isEnabled ל-true כדי להפעיל את הרישום ביומן ב-JetpackXR, ומשתמשים ב-XrLog.Level כדי להגדיר את רמת היומן. ‫(I76a1f, ‏ b/463460895, ‏ b/487378441)

תיקוני באגים

  • מוסיפים תמיכה במצב מעקב אחרי המכשיר למכשירי openxr. (I91485, ‏ b/445466590)

גרסה ‎1.0.0-alpha12

‫25 במרץ 2026

‫androidx.xr.arcore:arcore-*:1.0.0-alpha12 מופץ. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

שינויים ב-API

  • השתנה מ-Config.augmentedObjectCategories מרשימה לקבוצה. (I25a64, ‏ b/487376359)
  • הסוגים androidx.xr.arcore.Eye ו-androidx.xr.arcore.Hand. (I42438, ‏ b/449032900)
  • נוסף עומס יתר של Session.create כדי לאפשר העברה של הקשר של Android לצורך הגדרת היקף המשאבים. ‫(I7d3fe, ‏ b/415805990, ‏ b/477386334)
  • השינוי מ-FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT ל-FakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235)
  • הגדרת TiltGesture API כניסיוני, כי יכול להיות שהוא ישתנה או יוסר בעתיד. כדי להשתמש ב-API הזה, צריך להביע הסכמה לשימוש ב-@ExperimentalGesturesApi (Ic9858)
  • נוספה אפשרות להגדיר קטגוריות למעקב אחרי AugmentedObject בהגדרות (I1f6e4, ‏ b/480220930)

תיקוני באגים

  • תוקן ה-build של Chrome על ידי עדכון הקובץ META-INF/services/ במיקום בפועל של PerceptionRuntimeFactory. ‫(I7a801, ‏ b/481288291)

גרסה ‎1.0.0-alpha11

‫25 בפברואר 2026

‫androidx.xr.arcore:arcore-*:1.0.0-alpha11 מופץ. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha10

‫28 בינואר 2026

‫androidx.xr.arcore:arcore-*:1.0.0-alpha10 מופץ. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו את TiltGesture API, שמספק Flow תגובתי לזיהוי יציב של מצב הטיית המכשיר (למעלה/למטה) עם התקדמות המעבר. (Ic269f, ‏ b/448152779)
  • ‫ARCore for Jetpack XR משתמש עכשיו במנגנון הרישום ביומן של XR Runtime. מידע נוסף זמין בכתובת androidx.xr.runtime.Log. (l52735, ‏ b/448697662)

שינויים ב-API

  • ‫Geospatial.createPoseFromGeospatialPose פועל עכשיו במכשירים עם OpenXR. (l362c6)

גרסה ‎1.0.0-alpha09

‫3 בדצמבר 2025

‫androidx.xr.arcore:arcore-*:1.0.0-alpha09 מופץ. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha08

‫19 בנובמבר 2025

‫androidx.xr.arcore:arcore-*:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

תכונות חדשות

  • ‫ARCore for Jetpack XR תומך עכשיו במכשירים שבהם זמינים שירותי Google Play למציאות רבודה.
  • נוספו Geospatial APIs לזמינות של VPS ולהמרת תנוחות (I144dc)

גרסה ‎1.0.0-alpha07

‫22 באוקטובר 2025

‫androidx.xr.arcore:arcore-*:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

תיקוני באגים

  • :xr:arcore:arcore-openxr נוסף כהסתמכות על הטמעה ב-:xr:arcore:arcore (I47315, ‏ b/446999229)

גרסה ‎1.0.0-alpha06

‫24 בספטמבר 2025

‫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:arcore:arcore מ-xr:runtime:runtime. (Iadb9c, ‏ b/409058039)
  • ‫Hand.State חושף עכשיו java.nio.FloatBuffer עם התנוחות המשותפות בפורמט שמאפשר גישה קלה לאפליקציות שמתמקדות בביצועים. (I55e27)

גרסה ‎1.0.0-alpha05

‫30 ביולי 2025

הגרסאות 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)
  • הוספת ARCore API ל-checkVpsAvailability (Idbded)
  • פונקציות ההרחבה stateFlowable נוספו ל-:xr:arcore:arcore-rxjava3 לשימוש של מפתחי Java. ‫(I083aa, ‏ b/427247794)

שינויים ב-API

  • השמות של ערכי ההגדרות *Mode שונו כדי לשקף את ההתנהגות שלהם. ‫(I6d247, ‏ b/414648065)
  • הארטיפקט הראשי של ARCore ‏ (xr:arcore:arcore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייה xr:arcore:arcore-rxjava3 כדי לגשת לממשקי API תואמים. (Ia525e, ‏ b/422794329)
  • הארטיפקט הראשי של ARCore ‏ (xr:scenecore:scenecore) יכיל רק ממשקי API אסינכרוניים בסגנון Kotlin. מפתחי Java יכולים להסתמך על הספרייה xr:arcore:arcore-guava כדי לגשת לממשקי API תואמים. (Iffcb4, ‏ b/422773524)
  • ‫Anchor.persistAsync() נוסף ל-AnchorGuava לשימוש על ידי מפתחי Java. (I4af1c, ‏ b/425984631)
  • ‫Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) נוסף ל-EarthGuava לשימוש על ידי מפתחי Java. (I66357, b/425992992)
  • מפתחי Java ישתמשו בפונקציות ההרחבה של GltfModel.createAsync ב-GltfModel.kt. פונקציות אסינכרוניות ב-GltfModel יימחקו. (I0af60)
  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחי Kotlin צריכים להשתמש בארגומנט הבא של הקומפיילר כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זוהי ברירת המחדל החל מגרסה 2.1.0 של הקומפיילר של Kotlin) (Ia8420, ‏ b/326456246)
  • פונקציות ההרחבה subscribeAsFlowable נוספו ל-:xr:arcore:arcore-rxjava3 לשימוש של מפתחי Java. (Id3e49, ‏ b/427277298)

גרסה ‎1.0.0-alpha04

‫7 במאי 2025

‫androidx.xr.arcore:arcore:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP בגרסה 2.0.0 ומעלה. (Idb6b5)
  • ‫TrackingState ו-HandJointType הועברו מ-ARCore ל-Runtime.
  • הערך של Hand.State.isActive (boolean) השתנה ל-Hand.State.trackingState (androidx.xr.runtime.TrackingState).
  • הפונקציה Anchor.load מחזירה Anchor.AnchorLoadInvalidUuid אם ה-UUID לא תקין.

גרסה ‎1.0.0-alpha03

‫26 בפברואר 2025

הגרסה androidx.xr.arcore:arcore:1.0.0-alpha03 הושקה ללא שינויים משמעותיים מאז גרסת האלפא האחרונה. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha02

‫12 בפברואר 2025

‫androidx.xr.arcore:arcore:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • הוספנו תמיכה במעקב ידיים. אפשר להשתמש בHand.left ובHand.right כדי לגשת לפרטי המעקב.
  • ממשקי API שיוצרים עוגן (Anchor.create, ‏ Anchor.load, ‏ Plane.createAnchor) מחזירים עכשיו את הערך AnchorCreateResult ומיישמים את AnchorCreateResourcesExhausted בצורה תקינה.

תיקוני באגים

  • הבעיה שגרמה לקריסה קריטית ב-Anchor.detach בגלל מרוץ תהליכים עם השרשור של עדכון הסשן כבר לא מתרחשת.
  • Anchor.create יציב יותר כשמריצים אותו באמולטור

גרסה ‎1.0.0-alpha01

‫12 בדצמבר 2024

‫androidx.xr.arcore:arcore-* 1.0.0-alpha01 מופץ.

תכונות של הגרסה הראשונה

ספריית ARCore for Jetpack XR, שנוצרה בהשראת ספריית ARCore הקיימת, מספקת יכולות לשילוב תוכן דיגיטלי עם העולם האמיתי. הספרייה הזו כוללת מעקב תנועה, עוגנים קבועים, בדיקת פגיעה וזיהוי מישור עם תיוג סמנטי (לדוגמה, רצפה, קירות ומשטחי שולחן). מידע נוסף על עבודה עם ARCore for Jetpack XR זמין במדריך למפתחים.

  • ‫Session: ARCore for Jetpack XR משתמש בסביבת זמן הריצה של Jetpack XR כדי להפעיל את הפונקציונליות שלו. תשתמשו ב-Session כדי ליצור אינטראקציה עם רוב ממשקי ARCore for Jetpack XR API, לכן כדאי לעיין במסמכי התיעוד שלו.

  • ‫Plane: שימוש במטוסים כדי להבין את העולם שסביבכם. לכל מישור יש Label שמתאר אותו מבחינה סמנטית. אתם יכולים להשתמש בsubscribe כדי לקבל התראות על המטוסים האחרונים שזוהו או בstate כדי לקבל התראות על שינויים במטוס ספציפי.

  • ‫Anchor: קישור בין אובייקט וירטואלי לבין מיקום בעולם האמיתי. אפשר לצרף עוגנים למיקום ספציפי במרחב (באמצעות create) או לTrackable (באמצעות createAnchor).

    • אפשר להשתמש שוב בעוגנים בסשנים שונים. אפשר להשתמש ב-persist כדי לאחסן אותם, ב-getPersistedAnchorUuids כדי למנות אותם וב-load כדי לאחזר אותם. חשוב לוודא שunpersist אותם כשכבר לא משתמשים בהם.

    • העוגנים ניתנים להפעלה הדדית בין ARCore for Jetpack XR לבין Jetpack SceneCore. אפשר ליצור AnchorEntity באמצעות עוגן, או שאם יש לכם AnchorEntity קיים, אתם יכולים להשתמש ב-getAnchor כדי לאחזר את העוגן הבסיסי שלו.

    • להציע אינטראקציות טבעיות עם המשתמש באמצעות hitTest. בבדיקת פגיעה נעשה שימוש בRay כדי לקבוע אילו תכנים מצטלבים איתה וליצור Anchor מהמיקום הזה. כדאי לשקול לבצע בדיקת פגיעה מ-InputEvent.

בעיות מוכרות

  • יכול להיות שיהיה עיכוב בין הקריאה ל-unpersist לבין הסרת ה-UUID שלה מהתוצאות שמוחזרות על ידי getPersistedAnchorUuids.

  • ‫create לא יבדוק אם יש למערכת מספיק משאבים כדי להחזיר עוגנים חדשים. יצירה של כמות גדולה מדי של עוגנים עלולה לגרום לקריסה.

  • בשלב הזה, אי אפשר לשמור עוגן שנשמר בעבר ואז בוטל השמירה שלו.

  • השימוש באמולטור נתמך, אבל יכול להיות שההתנהגות לא תהיה יציבה כמו בהרצה במכשיר אמיתי. במיוחד, קריאות אל create עלולות להיכשל עם שגיאה בקוד Native ולסיים את הפעילות באופן מיידי.

  • במקרים מסוימים, יכול להיות שיוחזר RuntimeException באופן שגוי כשקוראים ל-persist עם ההודעה 'העוגן לא נשמר'. במקרים כאלה, הפונקציה עדיין תצליח והעוגן יישמר. כפתרון עקיף, מומלץ להוסיף את הקריאה ל-persist בתוך בלוק try.