Kamerada hata ayıklama

Bu sayfada, görüntülemek için kamera hizmetindeki hata ayıklama araçları açıklanmaktadır kamera donanım soyutlama katmanı. Kamera hizmeti watch ve dumpsys komutlarını içerir. Android 13 veya sonraki sürümleri çalıştıran cihazlarda kullanılabilir. watch komutu, etiketlerin ne zaman izlenip erişildiğini kontrol etmenizi sağlar. açık istemcilerden etiket izleme dökümlerinin önizlemesi ve önbelleğe alınan verilerin görüntülenmesi dökümleri oluşturur. dumpsys komutu, hata ayıklamaya erişime olanak tanır kapalı istemcilerden etiket izleme dökümleri sağlamaz.

saat komutu

Bu bölümde, watch komutunun nasıl kullanılacağı açıklanmakta ve örnekler verilmektedir.

Etiketleri izlemeye başla

Etiketleri izlemeye başlamak için şunu 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. Şunlar da kabul edilir: 3a kısaltmasıdır; burada 3a android.control.* AF, AE ve AWB ile ilgili etiketler (etiketlerin tam listesi için bkz. TagMonitor.cpp) seçin.
  • clients: İsteğe bağlı bağımsız değişken. İstemci paketinin virgülle ayrılmış listesi izin verilen adları seçin. Müşteri yoksa tüm müşterileri izler bağımsız değişkeni iletildiğinde veya istemci listesinde all varsa.

Bu komut, açık istemcilerde ve tüm istemcilerde etiket izlemeyi başlatır daha sonra açılanlar (stop çağrılana kadar). start çağrıldıktan sonra, İstemciler, kapatabilirsiniz.

start çağrılmadığı sürece, kamera hizmeti etiketleri izlemez. ve etiket izleme dökümlerini önbelleğe almaz. all clients parametresi için kamera hizmeti, etiketleri ve izleme önbelleklerini izler dökümleri çıkarmanız gerekir.

Etiket izleme bilgilerinin dökümü

Etiket izleme bilgilerini döküm için şunu kullanın:

adb shell cmd media.camera watch dump

Bu komut, etiket izleme bilgilerini standart çıkışa atar ve ardından çıkar. Bağlantısını kapatmış istemcilerden önbelleğe alınmış etiket izleme dökümlerini yazdırır. start tarihinden beri (veya son clear) ve açılıştan itibaren en son etiket izleme dökümünden kullanabilirsiniz.

Örnek çıktı:

$ 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 önizleyin

Etiket izleme bilgilerini gerçek zamanlı olarak önizlemek için şunu 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. Milisaniye cinsinden aralık ile adresindeki bilgileri yenileyin. Herhangi bir değer iletilmezse varsayılan olarak 1.000 değerine ayarlanır.

Bu komut, etiket izleme bilgilerini gerçek zamanlı olarak yazdırır. Çıkmak için şuna basın: return/enter.

Ö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 temizle

Ö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 istemcilerde etiketleri izlemeyi durdurmak ve önbelleğe alma için tutulan tüm arabellekleri temizlemek etiket izleme dökümlerini kullanmak için:

adb shell cmd media.camera watch stop

dumpsys komutu

dumpsys komutu, kameradan alınan bir dizi hata ayıklama bilgisi sunar. geliştirmenizi sağlar. Aşağıdaki komut, kamera hizmeti:

adb shell dumpsys media.camera

dumpsys komutu, açık kaynaklı etiket izleme dökümlerinin yakalanmasını da sağlar kullanabilirsiniz. Ancak dumpsys, kapalı kaynaklardan etiket izleme dökümleri sağlamaz. kullanabilirsiniz. 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 yakalayın:

    adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
    
  • Linux'u kullanarak etiket izleme bilgilerinin canlı önizlemesini alma watch komutu:

    watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'