هنگام عیبیابی مشکلات مربوط به رفتار زمان اجرا و عملکرد در برنامه Android خود، میتوانید تماسهای ARCore API را در گزارش دستگاه Android ثبت کنید.
وقتی ثبت تماس را فعال میکنید، ARCore همه تماسهای API را با نام C API آنها ثبت میکند، صرف نظر از SDK که برنامه با آن ساخته شده است. همه نامهای C API را میتوان در مستندات مرجع C API به همراه پارامترها و مقادیر بازگشتی آنها یافت.
ثبت تماس API را فعال کنید
فراخوانی های ARCore API که پارامترهای ArSession*
مانند *_destroy
و *_release
را نمی گیرند، ثبت نمی شوند.
برای فعال کردن ثبت تماس ARCore API این مراحل را دنبال کنید.
مطمئن شوید که Google Play Services for AR (ARCore) 1.23 یا جدیدتر نصب شده باشد:
- در ویندوز،
adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
را اجرا کنید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:
را اجرا کنیدadb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
.
- در ویندوز،
تجربه 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
برای غیرفعال کردن ثبت تماس ARCore API این مراحل را دنبال کنید.
تجربه 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
برای تمام خروجی های گزارش ARCore API استفاده می کند. از دستور زیر برای فیلتر کردن فقط آن تماس ها استفاده کنید.
# 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)
هنگام عیبیابی مشکلات مربوط به رفتار زمان اجرا و عملکرد در برنامه Android خود، میتوانید تماسهای ARCore API را در گزارش دستگاه Android ثبت کنید.
وقتی ثبت تماس را فعال میکنید، ARCore همه تماسهای API را با نام C API آنها ثبت میکند، صرف نظر از SDK که برنامه با آن ساخته شده است. همه نامهای C API را میتوان در مستندات مرجع C API به همراه پارامترها و مقادیر بازگشتی آنها یافت.
ثبت تماس API را فعال کنید
فراخوانی های ARCore API که پارامترهای ArSession*
مانند *_destroy
و *_release
را نمی گیرند، ثبت نمی شوند.
برای فعال کردن ثبت تماس ARCore API این مراحل را دنبال کنید.
مطمئن شوید که Google Play Services for AR (ARCore) 1.23 یا جدیدتر نصب شده باشد:
- در ویندوز،
adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
را اجرا کنید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:
را اجرا کنیدadb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
.
- در ویندوز،
تجربه 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
برای غیرفعال کردن ثبت تماس ARCore API این مراحل را دنبال کنید.
تجربه 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
برای تمام خروجی های گزارش ARCore API استفاده می کند. از دستور زیر برای فیلتر کردن فقط آن تماس ها استفاده کنید.
# 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)