Kamera-Debugging

Auf dieser Seite werden die Debugging-Tools im Kameradienst zum Ansehen Änderungen an den Erfassungsanforderungs- und Ergebniswerten, die an den und vom Kamera-HAL. Der Kameradienst umfasst die Befehle watch und dumpsys. Verfügbar auf Geräten mit Android 13 oder höher, der Mit dem Befehl watch können Sie steuern, wann Tags live überwacht und aufgerufen werden. Vorschau von Tag-Monitoring-Dumps von offenen Clients und Anzeigen der im Cache gespeicherten Daten Dumps von geschlossenen Kunden Der Befehl dumpsys ermöglicht den Zugriff auf das Debugging Daten, stellt aber keine Tag-Monitoring-Dumps von geschlossenen Clients bereit.

Watch-Befehl

In diesem Abschnitt wird anhand von Beispielen die Verwendung des Befehls watch beschrieben.

Überwachungs-Tags starten

Verwenden Sie Folgendes, um das Monitoring von Tags zu starten:

adb shell cmd media.camera watch start -m <tags> [-c <clients>]

Beispiel:

adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chrome

Argumente:

  • tags: Durch Kommas getrennte Liste der Tags, die überwacht werden sollen. Wird auch akzeptiert die Kurzschreibweise 3a, wobei sich 3a auf die Menge aller android.control.* bezieht Tags in Zusammenhang mit AF, AE und AWB (eine vollständige Liste der Tags finden Sie unter TagMonitor.cpp)
  • clients: Optionales Argument. Durch Kommas getrennte Liste von Clientpaketen Namen, für die Tags überwacht werden. Beobachtet alle Clients, wenn kein Client vorhanden ist übergeben wird oder all in der Liste der Clients vorhanden ist.

Dieser Befehl startet das Tag-Monitoring in offenen Clients und allen Clients die anschließend geöffnet werden (bis stop aufgerufen wird). Nachdem start aufgerufen wurde, Der Kameradienst speichert Tag-Monitoring-Dumps von Clients im Cache, wenn die Clients schließen.

Sofern start nicht aufgerufen wird, überwacht der Kameradienst keine Tags auf Tags und speichert Tag-Monitoring-Dumps nicht im Cache. Wenn all im Feld clients verwendet, überwacht der Kameradienst Tags und Caches. von allen Kunden.

Monitoring-Informationen zu Dump-Tags

Verwenden Sie Folgendes, um Tag-Monitoring-Informationen zu sichern:

adb shell cmd media.camera watch dump

Dieser Befehl gibt die Tag-Überwachungsinformationen in der Standardausgabe aus Exits. Sie gibt die im Cache gespeicherten Tag-Monitoring-Dumps von Clients aus, die geschlossen haben seit start (oder dem letzten clear) und dem letzten Tag-Monitoring-Dump vom offenen Tag Kundschaft.

Beispielausgabe:

$ 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
...

Vorschau von Tag-Überwachungsinformationen in Echtzeit anzeigen

So können Sie eine Vorschau der Informationen zum Tag-Monitoring in Echtzeit anzeigen lassen:

adb shell cmd media.camera watch live [-n refresh_interval_ms]

Beispiel:

adb shell cmd media.camera watch live -n 250

Argumente:

  • refresh_interval_ms: Optionales Argument. Intervall in Millisekunden bis aktualisieren Sie die Informationen unter. Die Standardeinstellung ist 1.000, wenn kein Wert übergeben wird.

Mit diesem Befehl werden Informationen zum Tag-Monitoring in Echtzeit ausgegeben. Drücken Sie zum Beenden return/enter zurück.

Beispielausgabe:

$ 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]

Im Cache gespeicherte Dumps löschen

So löschen Sie alle im Cache gespeicherten Tag-Monitoring-Dumps:

adb shell cmd media.camera watch clear

Dieser Befehl beendet das Tag-Monitoring nicht.

Monitoring-Tags beenden

Zum Beenden des Monitorings von Tags in allen Clients und zum Löschen aller Zwischenspeicher für das Caching Tag-Monitoring-Dumps, verwenden Sie:

adb shell cmd media.camera watch stop

dumpsys-Befehl

Der Befehl dumpsys bietet eine Reihe von Debugging-Informationen von der Kamera. Service. Mit dem folgenden Befehl wird der gesamte Debugging-Dump aus der Kameradienst:

adb shell dumpsys media.camera

Der Befehl dumpsys ermöglicht auch das Erfassen von Tag-Monitoring-Dumps vom offenen Kundschaft. dumpsys stellt jedoch keine Tag-Monitoring-Dumps von geschlossenen Kundschaft. Im Folgenden finden Sie Beispiele für die Verwendung von dumpsys zum Tag-Monitoring:

  • Erfassen Sie Dumps der Tag-Überwachung von allen offenen Clients:

    adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
    
  • Livevorschau von Informationen zum Tag-Monitoring unter Linux Befehl watch:

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