Débogage de la caméra

Cette page décrit les outils de débogage du service de caméra pour la visualisation les modifications des valeurs de demande de capture et de résultat envoyées depuis et vers HAL de la caméra. Le service de l'appareil photo inclut les commandes watch et dumpsys. Disponible sur les appareils équipés d'Android 13 ou version ultérieure, le La commande watch permet de contrôler à quel moment les tags sont surveillés et consultés, actifs aperçu des fichiers de dump de surveillance des balises des clients ouverts et affichage des fichiers mis en cache des fichiers de dump des clients fermés. La commande dumpsys permet d'accéder au débogage mais ne fournit pas de dumps de surveillance des balises des clients fermés.

commande watch

Cette section explique comment utiliser la commande watch et fournit des exemples.

Démarrer la surveillance des balises

Pour commencer à surveiller les balises, utilisez:

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

Exemple :

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

Arguments :

  • tags: liste des tags à surveiller, séparés par une virgule. Également compatible le raccourci 3a, où 3a fait référence à l'ensemble de tous les android.control.* ; liés à AF, AE et AWB (pour obtenir la liste complète des tags, voir TagMonitor.cpp).
  • clients: argument facultatif. Liste des packages clients, séparés par une virgule pour lesquels les tags sont surveillés. Surveille tous les clients en l'absence de client est transmis, ou si all figure dans la liste des clients.

Cette commande lance la surveillance des tags dans les clients ouverts et dans tous les clients qui sont ensuite ouvertes (jusqu'à ce que stop soit appelé). Après l'appel de start, Le service de l'appareil photo met en cache les fichiers de surveillance des tags des clients lorsque ceux-ci fermer.

À moins que start ne soit appelé, le service d'appareil photo ne surveille pas les tags pour les et ne met pas en cache les vidages de surveillance des tags. Si all est transmis dans clients, le service de caméra surveille les tags et met en cache la surveillance de tous les clients.

Informations de surveillance des balises de vidage

Pour utiliser les informations de surveillance des tags de dump, exécutez la commande suivante:

adb shell cmd media.camera watch dump

Cette commande vide les informations de surveillance des tags dans la sortie standard, puis de sortie. Il imprime les fichiers de dump de surveillance des tags mis en cache des clients ayant fermé depuis le start (ou le clear dernier) et le dernier vidage de la surveillance des balises ouvert clients.

Exemple de résultat :

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

Prévisualiser les informations de surveillance des balises en temps réel

Pour prévisualiser les informations de surveillance des balises en temps réel, utilisez:

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

Exemple :

adb shell cmd media.camera watch live -n 250

Arguments :

  • refresh_interval_ms: argument facultatif. Intervalle en millisecondes jusqu'à actualiser les informations. La valeur par défaut est 1 000 si aucune valeur n'est transmise.

Cette commande imprime des informations de surveillance des balises en temps réel. Pour quitter, appuyez sur return/Entrée.

Exemple de résultat :

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

Effacer les fichiers de dump mis en cache

Pour effacer tous les fichiers de dump de la surveillance des balises mis en cache, utilisez la commande suivante:

adb shell cmd media.camera watch clear

Cette commande n'arrête pas la surveillance des balises.

Arrêter la surveillance des balises

Pour arrêter la surveillance des balises dans tous les clients et effacer tous les tampons conservés pour la mise en cache de dumps de surveillance des balises, utilisez:

adb shell cmd media.camera watch stop

Commande dumpsys

La commande dumpsys fournit de nombreuses informations de débogage de la caméra. Google Cloud. La commande suivante capture l'intégralité du fichier de dump de débogage à partir du service de caméra:

adb shell dumpsys media.camera

La commande dumpsys permet également de capturer les vidages de la surveillance des balises à partir des fichiers ouverts clients. Toutefois, dumpsys ne fournit pas les vidages de la surveillance des balises des fichiers clients. Voici des exemples d'utilisation de dumpsys pour la surveillance des balises:

  • Capturez les fichiers de dump de la surveillance des tags de tous les clients ouverts:

    adb shell dumpsys media.camera -m 3a | grep -A50 Monitored
    
  • Obtenir un aperçu en direct des informations de surveillance des balises à l'aide de Linux Commande watch:

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