На этой странице описаны инструменты отладки в службе камеры для просмотра изменений значений запросов и результатов захвата, отправляемых в HAL камеры и из него. Служба камеры включает команды watch и dumpsys . Команда watch , доступная на устройствах под управлением Android 13 или выше, позволяет управлять моментом мониторинга и доступа к тегам, просматривать в реальном времени дампы мониторинга тегов с открытых клиентов и просматривать кэшированные дампы с закрытых клиентов. Команда dumpsys позволяет получить доступ к отладочной информации, но не предоставляет дампы мониторинга тегов с закрытых клиентов.
команда наблюдения
В этом разделе описывается, как использовать команду watch , и приводятся примеры.
Начать мониторинг тегов
Для начала мониторинга тегов используйте:
adb shell cmd media.camera watch start -m <tags> [-c <clients>]Пример:
adb shell cmd media.camera watch start \
-m android.control.effectMode,android.control.aeMode \
-c com.google.android.GoogleCamera,com.android.chromeАргументы:
-
tags: Разделенный запятыми список тегов для мониторинга. Также принимается сокращенное обозначение3a, где3aобозначает набор всех теговandroid.control.*, связанных с AF, AE и AWB (полный список тегов см. вTagMonitor.cpp). -
clients: Необязательный аргумент. Разделенный запятыми список имен клиентских пакетов, для которых ведется мониторинг тегов. Отслеживает все клиенты, если аргумент client не передан или еслиallклиенты присутствуют в списке.
Эта команда запускает мониторинг тегов в открытых клиентах и во всех клиентах, которые будут открыты впоследствии (до вызова stop ). После вызова команды start служба камеры кэширует дампы мониторинга тегов с клиентов при их закрытии.
Если не вызван start , служба камеры не отслеживает теги для каких-либо клиентов и не кэширует дампы мониторинга тегов. Если в параметре clients передано значение all , служба камеры отслеживает теги и кэширует дампы мониторинга от всех клиентов.
Информация о мониторинге маркировки сброса
Для вывода информации о мониторинге тегов используйте:
adb shell cmd media.camera watch dump Эта команда выводит информацию о мониторинге тегов в стандартный поток вывода, а затем завершает работу. Она выводит кэшированные дампы мониторинга тегов от клиентов, которые были закрыты с момента start (или последней clear ), а также последний дамп мониторинга тегов от открытых клиентов.
Пример выходных данных:
$ 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
...
Предварительный просмотр информации о мониторинге тегов в режиме реального времени.
Для предварительного просмотра информации о мониторинге тегов в режиме реального времени используйте:
adb shell cmd media.camera watch live [-n refresh_interval_ms]Пример:
adb shell cmd media.camera watch live -n 250Аргументы:
-
refresh_interval_ms: Необязательный аргумент. Интервал в миллисекундах для обновления информации. По умолчанию равно 1000, если значение не указано.
Эта команда выводит информацию о мониторинге меток в режиме реального времени. Для выхода нажмите Enter .
Пример выходных данных:
$ 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]
Очистить кэшированные дампы
Для очистки всех кэшированных дампов мониторинга тегов используйте:
adb shell cmd media.camera watch clearЭта команда не останавливает мониторинг тегов.
Прекратить мониторинг тегов
Чтобы остановить мониторинг тегов на всех клиентах и очистить все буферы, удерживаемые для кэширования дампов мониторинга тегов, используйте:
adb shell cmd media.camera watch stopкоманда dumpsys
Команда dumpsys предоставляет множество отладочной информации от службы камеры. Следующая команда захватывает весь дамп отладочной информации от службы камеры:
adb shell dumpsys media.cameraКоманда dumpsys также позволяет получать дампы мониторинга тегов с открытых клиентов. Однако dumpsys не предоставляет дампы мониторинга тегов с закрытых клиентов. Ниже приведены примеры использования dumpsys для мониторинга тегов:
Соберите дампы мониторинга тегов со всех открытых клиентов:
adb shell dumpsys media.camera -m 3a | grep -A50 MonitoredПолучите предварительный просмотр информации о мониторинге тегов в режиме реального времени с помощью команды `
watchв Linux:watch -n 1 -c 'adb shell dumpsys media.camera -m 3a | grep -A50 Monitored'