במהלך פתרון בעיות בהתנהגות ובביצועים בסביבת זמן הריצה ב-Android אפשר לרשום קריאות ל-ARCore API יומן מכשיר Android.
כשמפעילים רישום ביומן של שיחות, ARCore רושם את כל הקריאות ל-API באמצעות ה-C API שלו ללא קשר ל-SDK שבעזרתו האפליקציה נוצרה. כל השמות של C API יכולים במאמרי העזרה של C API, וגם את הפרמטרים שלהם ולהחזיר ערכים.
הפעלת הרישום ביומן הקריאות ל-API
קריאות ל-ARCore API שלא משתמשות בפרמטרים של ArSession*
כמו *_destroy
והפונקציות *_release
לא נרשמות ביומן.
כדי להפעיל רישום ביומן של קריאות ב-ARCore API, צריך לפעול לפי השלבים הבאים.
מוודאים ש-Google Play Services ל-AR (ARCore) מגרסה 1.23 ואילך מותקנת:
- ב-Windows, מריצים את
adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
. - ב-macOS, מריצים את הפקודה
adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
.
- ב-Windows, מריצים את
צריך לפתוח את חוויית ה-AR באפליקציה כדי שיהיה סשן ARCore פעיל ריצה. האפליקציה חייבת להיות במצב AR כדי לקבל שידור שמאפשר רישום ביומן. תמונות התצוגה המקדימה של מצלמת ה-AR צריכות להיות גלויות במכשיר. מסך.
כדי להפעיל רישום ביומן של שיחות, משתמשים בפקודת השידור הבאה של מנהל הפעילות: לאפליקציה.
# Enables ARCore call logging and saves a setting to your app's
# Android Shared Preferences, so that call logging remains enabled in
# subsequent ARCore sessions.
# Your app must have an actively running ARCore session to receive the broadcast.
adb shell am broadcast -a com.google.ar.core.ENABLE_API_CALL_LOGGING
השבתת הרישום של קריאות ל-API ביומן
כדי להשבית את הרישום ביומן הקריאות של ה-API של ARCore, צריך לפעול לפי השלבים הבאים.
צריך לפתוח את חוויית ה-AR באפליקציה כדי שיהיה סשן ARCore פעיל ריצה. האפליקציה חייבת להיות במצב AR כדי לקבל את השידור שמשבית את השידור רישום ביומן. תמונות התצוגה המקדימה של מצלמת ה-AR צריכות להיות גלויות במכשיר. מסך.
כדי להשבית רישום ביומן של שיחות, משתמשים בפקודת השידור הבאה של מנהל הפעילות עבור האפליקציה:
# Disables ARCore call logging and saves a setting to your app's
# Android Shared Preferences, so that call logging remains disabled in
# subsequent ARCore sessions.
# Your app must have an actively running ARCore session to receive the broadcast.
adb shell am broadcast -a com.google.ar.core.DISABLE_API_CALL_LOGGING
צפייה בפלט
ב-ARCore נעשה שימוש בתג ARCore-Api
בכל פלט הרישום של ה-API ב-ARCore. משתמשים ב
את הפקודות הבאות כדי לסנן רק את הקריאות האלה.
# Currently, ARCore only logs API calls that take an `ArSession*` argument.
# Functions that do not take session parameters such as `*_destroy` and `*_release` are not logged.
# -s is equivalent to the filter expression '*:S', which sets priority for all tags to silent.
adb logcat -s ARCore-Api
קצב ARCore מגביל את הפלט כדי לצמצם את הספאם ביומן. הוא צובר יומן שדילגת עליו הודעות בהודעת יומן אחת.
פלט לדוגמה של הודעות יומן שדילגת עליהן:
D ARCore-Api: ArFrame_create(<ptr>)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195)
D ARCore-Api: ArFrame_create(<ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS (suppressing for 10s)
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195) (suppressing for 10s)