ARCore for Jetpack XR
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 7 באוקטובר 2026 | - | 1.0.0-rc02 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-ARCore ל-Jetpack XR, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר ה-Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-rc02" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-rc02") }
מידע נוסף זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גירסה 1.0
גרסה 1.0.0-rc02
7 באוקטובר 2026
androidx.xr.arcore:arcore-*:1.0.0-rc02 מופץ. גרסה 1.0.0-rc02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שגרמה לכך שלא ניתן היה להגדיר את ההפעלה של
OpenXrRuntimeכשמעקב אחרי תמונות מורחבות לא נתמך. (I8b9759) - תוקנו כמה בעיות, כולל: שיפור ניהול הזיכרון ב-
XrInstanceManagerבאמצעותapplicationContext, פתרון בעיות פוטנציאליות שקשורות למחזור החיים על ידי פישוט מנגנוני שמירת הנתונים במטמון שלSessionו-Scene, ושיפורReferenceCleanerכדי להבטיח רישום בטוח של ניקוי הזיכרון וסילוק מפורש של נתונים. (Id0b76c)
גרסה 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 מכילה את השמירות האלה.
תיקוני באגים
- תיקון בעיה של פעולות שמתבצעות בו-זמנית ב-
OpenXRanchor 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לא יכול להיות ריק (I0eac1) - השדות
RenderViewpoint.left,RenderViewpoint.rightו-RenderViewpoint.monoהם עכשיו שדות שלא ניתן להשאיר ריקים (Icf7fa) - המאפיינים
Hand.leftו-Hand.rightהם לא nullable (Icef37) - נוסף API של
QrCode(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) - נוסף
ArCoreTestRuleAPI, כולל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
- נוסף
AugmentedImageAPI למעקב אחר סמנים בהתאמה אישית (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) - העברנו את
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) - השתנה: במקום position, offset, offsetType, alignment ו-elevation, Orbiter משתמש עכשיו ב-
OrbiterAnchorPoint + VolumeOffsetאו ב-OrbiterPoseProvider. הוסר גם הפרמטר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) - הגדרת
TiltGestureAPI כניסיוני, כי יכול להיות שהוא ישתנה או יוסר בעתיד. כדי להשתמש ב-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 מכילה את השמירות האלה.
תכונות חדשות
- השקנו את
TiltGestureAPI, שמספק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 מכילה את השמירות האלה.
תכונות חדשות
-
ARCorefor Jetpack XR תומך עכשיו במכשירים שבהם Google Play Services למציאות רבודה זמין. - נוספו ממשקי API של מידע גיאוגרפי לזמינות של 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
- שם ההגדרה
*Modevals שונה כדי לשקף את ההתנהגות שלה. (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. בדיקת פגיעה (hitTest) משתמשת ב-Rayכדי לקבוע אילו תכנים היא חותכת וליצורAnchorמהמיקום הזה. כדאי לשקול לבצע hitTest מ-InputEvent.
בעיות מוכרות
יכול להיות שיהיה עיכוב בין הקריאה ל-
unpersistלבין הסרת ה-UUID שלה מהתוצאות שמוחזרות על ידיgetPersistedAnchorUuids.
createלא יאמת שלמערכת יש מספיק משאבים כדי להחזיר עוגנים חדשים. יצירת כמות גדולה מדי של עוגנים עלולה לגרום לקריסה.בשלב הזה, אי אפשר לשמור עוגן שכבר נשמר ואז בוטל השמירה שלו.
השימוש באמולטור נתמך, אבל יכול להיות שההתנהגות לא תהיה יציבה כמו בהרצה במכשיר אמיתי. בפרט, יכול להיות שקריאות ל-
createייכשלו עם שגיאה בקוד Native והפעילות תופסק באופן מיידי.במקרים מסוימים, יכול להיות שיוחזר ערך שגיאה
RuntimeExceptionבאופן שגוי כשקוראים לפונקציהpersistעם ההודעה Anchor was not persisted (העוגן לא נשמר). במקרים כאלה, הפונקציה עדיין תצליח והעוגן יישמר. כפתרון עקיף, מומלץ להוסיף את הקריאה ל-persistלבלוקtry.