Bu sayfada, kamera HAL'ine gidip gelen yakalama isteği ve sonuç değerlerindeki değişiklikleri görüntülemek için kamera hizmetindeki hata ayıklama araçları açıklanmaktadır. Kamera hizmeti, watch
ve dumpsys
komutlarını içerir.
Android 13 veya sonraki sürümleri çalıştıran cihazlarda kullanılabilen watch
komutu, etiketlerin ne zaman izleneceğini ve erişileceğini, açık istemcilerden etiket izleme dökümlerinin canlı önizlemesinin ve kapalı istemcilerden önbelleğe alınan dökümlerin görüntülenmesini kontrol etmenizi sağlar. dumpsys
komutu, hata ayıklama bilgilerine erişmeye olanak tanır ancak kapalı istemcilerden etiket izleme dökümleri sağlamaz.
watch komutu
Bu bölümde, watch
komutunun nasıl kullanılacağı açıklanmakta ve örnekler verilmektedir.
Etiketleri izlemeye başlama
Etiketleri izlemeye başlamak için şunları kullanın:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]
Örnek:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome
Bağımsız değişkenler:
tags
: İzlenecek etiketlerin virgülle ayrılmış listesi. Ayrıca3a
kısaltması da kabul edilir.3a
, AF, AE ve AWB ile ilgili tümandroid.control.*
etiketlerinin kümesini ifade eder (etiketlerin tam listesi içinTagMonitor.cpp
bölümüne bakın).clients
: İsteğe bağlı bağımsız değişken. Etiketlerin izlendiği istemci paket adlarının virgülle ayrılmış listesi. Müşteri bağımsız değişkeni iletilmemişse veya istemciler listesindeall
varsa tüm istemcileri izler.
Bu komut, açık istemcilerde ve daha sonra açılacak olan istemcilerde (stop
çağrılana kadar) etiket izlemeyi başlatır. start
çağrıldıktan sonra kamera hizmeti, istemciler kapandığında istemcilerden gelen etiket izleme dökümlerini önbelleğe alır.
start
çağrılmadığı sürece, kamera hizmeti istemcilerin etiketlerini izlemez ve etiket izleme dökümlerini önbelleğe almaz. clients
parametresinde all
iletilirse kamera hizmeti, etiketleri izler ve tüm istemcilerden gelen izleme dökümlerini önbelleğe alır.
Etiket izleme bilgilerini dökme
Etiket izleme bilgilerini dökmek için şunları kullanın:
adb shell cmd media.camera watch dump
Bu komut, etiket izleme bilgilerini standart çıkışa aktarır ve ardından çıkar. start
tarihinden (veya son clear
tarihinden) bu yana kapalı olan istemcilerden gelen önbelleğe alınmış etiket izleme dökümlerini ve açık istemcilerden gelen en son etiket izleme dökümünü yazdırır.
Örnek çıkış:
$ adb shell cmd media.camera watch dump
Client: com.android.chrome (active)
1:com.android.chrome f0:532642803202286ns: REQ:android.control.aeMode: [ON] output stream ids: 0
1:com.android.chrome f0:532642803202286ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 0
..
Client: com.google.android.GoogleCamera (cached)
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.aeMode: [ON] output stream ids: 0 3 1 2
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 1 3 0
0:com.google.android.GoogleCamera f0:532601698728552ns: REQ:android.control.awbMode: [AUTO] output stream ids: 0 3 1 2
...
Etiket izleme bilgilerini gerçek zamanlı olarak önizleme
Etiket izleme bilgilerini gerçek zamanlı olarak önizlemek için şunları kullanın:
adb shell cmd media.camera watch live [-n refresh_interval_ms]
Örnek:
adb shell cmd media.camera watch live -n 250
Bağımsız değişkenler:
refresh_interval_ms
: İsteğe bağlı bağımsız değişken. Bilgilerin yenileneceği aralık (milisaniye cinsinden). Değer iletilmezse varsayılan olarak 1000 değerine ayarlanır.
Bu komut, etiket izleme bilgilerini gerçek zamanlı olarak yazdırır. Çıkmak için return/enter tuşuna basın.
Örnek çıktı:
$ adb shell cmd media.camera watch live
Press return to exit...
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.aeMode: [ON] output stream ids: 1 3 0 2
0:com.google.android.GoogleCamera f0:533016991302201ns: REQ:android.control.afMode: [CONTINUOUS_PICTURE] output stream ids: 2 0 3 1
...
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 3 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: 2 RES:android.control.aeState: [SEARCHING]
0:com.google.android.GoogleCamera f0:533017066793915ns: RES:android.control.afState: [PASSIVE_SCAN]
Önbelleğe alınan dökümleri temizleme
Önbelleğe alınan tüm etiket izleme dökümlerini temizlemek için şunu kullanın:
adb shell cmd media.camera watch clear
Bu komut, etiket izlemeyi durdurmaz.
Etiketleri izlemeyi durdur
Tüm istemcilerdeki etiketleri izlemeyi durdurmak ve etiket izleme dökümlerini önbelleğe almak için tutulan tüm arabellekleri temizlemek üzere şunları kullanın:
adb shell cmd media.camera watch stop
dumpsys komutu
dumpsys
komutu, kamera hizmetinden birçok hata ayıklama bilgisi sağlar. Aşağıdaki komut, kamera hizmetindeki hata ayıklama dökümünün tamamını yakalar:
adb shell dumpsys media.camera
dumpsys
komutu, açık istemcilerden etiket izleme dökümlerinin alınmasına da olanak tanır. Ancak dumpsys
, kapalı istemcilerden etiket izleme dökümleri sağlamaz. Aşağıda, etiket izleme için dumpsys
kullanımıyla ilgili örnekler verilmiştir:
Tüm açık istemcilerden etiket izleme dökümlerini alın:
adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
Linux
watch
komutunu kullanarak etiket izleme bilgilerinin canlı önizlemesini alın:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'