Saat memecahkan masalah perilaku dan performa runtime di aplikasi Android, Anda dapat mencatat panggilan ARCore API ke dalam log perangkat Android.
Saat Anda mengaktifkan logging panggilan, ARCore akan mencatat semua panggilan API dengan nama C API-nya, terlepas dari SDK yang digunakan untuk mem-build aplikasi. Semua nama C API dapat ditemukan di dokumentasi referensi C API, beserta parameter dan nilai yang ditampilkan.
Aktifkan logging panggilan API
Panggilan ARCore API yang tidak menggunakan parameter ArSession*
seperti fungsi *_destroy
dan *_release
tidak akan dicatat ke dalam log.
Ikuti langkah-langkah berikut untuk mengaktifkan logging panggilan ARCore API.
Pastikan Layanan Google Play untuk AR (ARCore) 1.23 atau yang lebih baru diinstal:
- Di Windows, jalankan
adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
. - Di macOS, jalankan
adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
.
- Di Windows, jalankan
Buka pengalaman AR di aplikasi Anda sehingga ada sesi ARCore aktif yang sedang berjalan. Aplikasi Anda harus berada dalam mode AR untuk menerima siaran yang memungkinkan logging. Gambar pratinjau kamera AR akan terlihat di layar perangkat.
Gunakan perintah broadcast manager aktivitas berikut untuk mengaktifkan logging panggilan: untuk aplikasi Anda.
# 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
Nonaktifkan logging panggilan API
Ikuti langkah-langkah berikut untuk menonaktifkan logging panggilan ARCore API.
Buka pengalaman AR di aplikasi Anda sehingga ada sesi ARCore aktif yang sedang berjalan. Aplikasi Anda harus berada dalam mode AR untuk menerima siaran yang menonaktifkan logging. Gambar pratinjau kamera AR akan terlihat di layar perangkat.
Gunakan perintah siaran pengelola aktivitas berikut untuk menonaktifkan logging panggilan untuk aplikasi Anda:
# 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
Melihat output
ARCore menggunakan tag ARCore-Api
untuk semua output logging ARCore API. Gunakan
perintah berikut untuk memfilter panggilan tersebut saja.
# 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
Kecepatan ARCore membatasi output untuk mengurangi spam log. Menggabungkan pesan log yang dilewati ke dalam satu pesan log.
Contoh output pesan log yang dilewati:
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)