Перейти к содержимому

Что такое adb и как он работает

  • автор:

Как установить и пользоваться Android Debug Bridge (ADB)

Как установить и пользоваться Android Debug Bridge (ADB)

В наших инструкциях мы регулярно обращаемся к использованию Android Debug Bridge (ADB) — инструмента, который позволяет управлять смартфоном на Android через компьютер. Вообще он нужен разработчикам для отладки приложений, но есть и более «приземлённые» применения.

Вот несколько наших инструкций, где пригодится ADB:

Редакция Rozetked не несёт ответственности за возможные сбои программного обеспечения или оборудования вследствие выполнения этой инструкции. Все действия выполняются на страх и риск пользователя.

Настройка USB-отладки на смартфоне

  1. Откройте «Настройки», перейдите в раздел «О телефоне».
  2. Найдите пункт «Номер сборки» и нажмите на него семь раз — на устройстве разблокируется режим разработчика. Cмартфон может попросить ввести PIN-код.
  3. Перейдите в раздел «Настройки» > «Система» > «Для разработчиков».
  4. Найдите пункт «Отладка по USB» и активируйте его.

Настройка ADB в Windows

  1. Загрузите Android SDK Platform Tools для Windows с этой страницы.
  2. Распакуйте содержимое ZIP-файла в легкодоступную папку на компьютере.
  3. Откройте через «Проводник» эту папку и, удерживая Shift, нажмите на правую кнопку мыши.
  4. В контекстном меню выберите пункт «Открыть окно PowerShell здесь».
  5. Подключите смартфон к компьютеру по USB.
  6. Измените режим работы USB на смартфоне на «Передача файлов» — в панели уведомлений для этого появится пункт. Это действие нужно для устройств только некоторых вендоров.
  7. Введите в окне PowerShell команду для запуска службы (демона) ADB и нажмите Enter:
  8. На экране смартфона появится окно для разрешения или запрета отладки по USB с этого компьютера. Разрешите действие.
  9. Повторите действие из пункта 7. Если всё прошло успешно, в командной строке появится устройство с указанным серийным номером.

Настройка ADB в macOS

  1. Загрузите Android SDK Platform Tools для macOS с этой страницы.
  2. Распакуйте содержимое ZIP-файла в легкодоступную папку на компьютере.
  3. Откройте Finder, в строке меню выберите «Вид» > «Показать строку пути».
  4. Откройте через Finder распакованную папку, кликните правой мышью по её имени в строке пути, которая отражена в нижней части окна, и выберите пункт «Открыть в Терминале». Если строка пути мешает, позже её можно скрыть, повторив действия пункта 3.
  5. Подключите смартфон к компьютеру по USB.
  6. Измените режим работы USB на смартфоне на «Передача файлов» — в панели уведомлений для этого появится пункт. Это действие нужно для устройств только некоторых вендоров.
  7. Введите в «Терминале» команду для запуска службы (демона) ADB и нажмите Enter:
  8. На экране смартфона появится окно для разрешения или запрета отладки по USB с этого компьютера. Разрешите действие.
  9. Повторите действие из пункта 7. Если всё прошло успешно, в командной строке появится устройство с указанным серийным номером.

Настройка ADB в Linux

  1. Загрузите Android SDK Platform Tools для Linux с этой страницы.
  2. Распакуйте содержимое ZIP-файла в легкодоступную папку на компьютере.
  3. Откройте «Терминал».
  4. Измените следующую команду так, чтобы она вела на распакованную директорию. Введите её в «Терминал» и нажмите Enter:
  5. Подключите смартфон к компьютеру по USB.
  6. Измените режим работы USB на смартфоне на «Передача файлов» — в панели уведомлений для этого появится пункт. Это действие нужно для устройств только некоторых вендоров.
  7. Введите в «Терминале» команду для запуска службы (демона) ADB и нажмите Enter:
  8. На экране смартфона появится окно для разрешения или запрета отладки по USB с этого компьютера. Разрешите действие.
  9. Повторите действие из пункта 7. Если всё прошло успешно, в командной строке появится устройство с указанным серийным номером.

Продвинутым пользователям macOS будет полезно знать, что Android SDK Platform Tools удобнее устанавливать через Homebrew, а владельцы компьютеров на Debian-дистрибутивах Linux могут инсталлировать инструмент через apt-get.

Примеры команд

Несколько команд оболочки ADB, которые могут пригодиться пользователям Android:

  • Установка APK через компьютер:
  • Перезагрузка смартфона в режим recovery:
  • Копирование папки с компьютера на смартфон:

Со справочными материалами по Android Debug Bridge можно ознакомиться на сайте Android Developers.

Что такое ADB и как с ним работать

Читая статьи о перепрошивке и рутинге Android-устройств, вы наверняка встречали упоминание консольной команды adb в тексте. Этот инструмент очень популярен среди энтузиастов ОС Android и применяется почти во всех графических и консольных утилитах для рутинга, снятия защиты и других действий. Однако, далеко не каждый пользователь знаком с этим инструментом и не знает его полезнейших возможностей, таких как установка и удаление приложений, синхронизация папок между настольной машиной и смартфоном, снятие скриншотов, открытие доступа в интерет через смартфон и многих других.

Что такое ADB

ADB это протокол или, проще говоря, система связи между настольной машиной и смартфоном по USB-кабелю, которая изначально была разработана сотрудниками Google для отладки и выполнения сервисных задач над смартфоном. Другими словами это инструмент для разработчиков, который тем не менее имеет множество функций, которые могут быть полезны и обычному пользователю.

ADB состоит из двух компонентов: сервера, который работает на смартфоне, и клиентской программы, которую пользователь запускает на большом брате. Сам клиент представляет собой небольшую консольную команду, которую следует запускать либо в окне DOS в Windows, либо в эмуляторе терминала в Linux. Вся работа с ADB сводится примерно к следующему: с помощью клиента пользователь отдает команду, а смартфон ее выполняет.

Как пользоваться ADB

Перед тем как начать использовать ADB следует обзавестись клиентом. По умолчанию он распространяется в составе Android SDK, однако если вы не хотите устанавливать SDK, клиент можно получить и отдельно. Архив с клиентами для Windows, Mac и Linux можно получить, например, здесь. Просто распакуйте этот архив на диск C: в Windows или в домашний каталог в Linux. Если вы работаете в Windows не забудьте установить все необходимые драйверы (обычно они устанавливаются автоматически при первом подключении смартфона/планшета с помощью USB-кабеля).

Теперь подключите устройство к USB и включите на нем режим отладки (Настройки — Для разработчиков — Отладка по USB). Откройте консоль (Пуск — Выполнить — сmd — Enter в Windows), перейдите и наберите следующие команды для проверки успешности соединения ADB-клиента с сервером:

Если все в порядке на экран должно быть выведено что-то вроде таких строк:

Сразу рекомендую переименовать файл adb-windows.exe в adb.exe для удобства (в дальнейшем я буду использовать именно такой вариант названия, тем более что в SDK он такой).

Установка и удаление приложений

С помощью ADB достаточно удобно устанавливать и удалять приложения со смартфона/планшета. Для этого предусмотрены команды “adb install” и “adb uninstall”. Так, например, чтобы установить пакет на смартфон, выполните такую команду в той же консоли:

Чтобы установить приложение на карту памяти добавьте ключ -s:

Для удаления приложения используйте такую команду:

Обратите внимание, что следует использовать системное имя приложения, которое можно узнать просмотрев информацию о нужном приложении на смартфоне, либо получить список всех установленных приложений выполнив такую команду:

И уже из него выбрать необходимое.

Копирование файлов и синхронизация каталогов

Кроме установки и удаления пакетов вы также можете перемещать файлы и целые каталоги между компьютером и картой памяти устройства. Так, например, чтобы переместить папку c:/music на карту памяти достаточно выполнить такую команду:

А чтобы получить папку с фотографиями с карты памяти — такую:

Однако, самое полезное применение ADB это синхронизация папок между компьютером и смартфоном. Допустим у вас есть папка c:/music, в которую вы постоянно добавляете новую музыку и хотели бы чтобы добавленная недавно музыка перекочевала на смартфон без необходимости копирования всей музыки, половина которой уже есть на смартфоне. Нет ничего проще, воспользуйтесь синхронизацией:

adb sync c:/music /sdcard/Music

Выход в интернет через смартфон

Еще одна очень интересная функция ADB это возможность проброса сетевых портов или, говоря на человеческом языке, возможность сделать так, чтобы выход в интернет происходил через смартфон. Да, для этого есть функция WiFi hotspot и различные приложения вроде PDANet, однако метод с использованием ADB поможет в случае экстренной ситуации, когда под рукой кроме смартфона и ADB нет ничего.

Чтобы воспользоваться этой функцией запустите ADB в режиме проброса портов:

Затем установите на смартфон и запустите приложение Proxoid и настройте браузер настольной машины на использование прокси по адресу “localhost:8080”.

Это все. Теперь выход в интернет будет происходить через смартфон. Сразу оговорюсь, что HTTPS-сайты работать не будут, поэтому получить доступ, например, к Gmail не получиться.

Бэкап и восстановление приложений и настроек

Современные версии ADB кроме всего перечисленного поддерживают также функцию бэкапа и восстановления установленных приложений и их настроек, что может пригодится при обнолвении прошивки или при экспериментах. Воспользоваться функцией очень просто. Чтобы сделать бэкап всех приложений и настроек достаточно выполнить следующую команду:

Все настройки и приложения будут сохранены в файл c:\backup. Для его восстановления достаточно выполнить такую команду:

Другие функции

Что еще можно сделать с помощью ADB? Например, получить доступ к консоли Android:

Имеет смысл использовать только в том случае, если вы знаете что это такое.

С помощью ADB также можно принудительно перезагрузить устройство:

Чтобы перезагрузиться в консоль восстановления используйте такую команду:

ADB по сети

Сервер ADB может работать и в сетевом режиме, когда вместо USB-кабеля для доступа к устройству используется локальная WiFi-сеть. В целях безопасности в стандартных прошивках сетевой режим отключен, но в таких прошивках как CyanogenMod, AOKP и других его можно активировать через настройки. А если получить root то и в любой прошивке с помощью бесплатного приложения WiFi ADB. Просто установите его, нажмите кнопку “Turn On” и наберите в консоли Windows строку, которая появится на экране, например:

Далее можно использовать все стандартные команды ADB

Выводы

ADB очень мощный инструмент, а если в придачу к нему вы изучите консоль Android, то сможете делать со своим смартфоном все, что угодно. Кстати, чтобы не вбивать все указанные в статье команды в консоли, можно создать несколько скриптов (текстовых файлов с расширением .bat) и добавить в них нужные команды. Тогда для запуска команд придется просто кликнуть по скрипту.

Что такое ADB и как им пользоваться при подключении смартфона к ПК

Далеко не все проблемы, которые возникают при эксплуатации смартфона, можно решить изменением параметров на мобильном устройстве. Порой для устранения неполадок телефон нужно подключить к компьютеру. Но изначально ПК воспринимает ваш гаджет исключительно как внешний накопитель, что не дает ему внести изменения в настройки. Поэтому для получения расширенного доступа к устройству нужно подключить телефон через ADB. Сегодня мы разберемся, что под собой скрывают эти три буквы, и как они помогают решать самые распространенные проблемы Android.

Что такое ADB и как им пользоваться при подключении смартфона к ПК. ADB — очень полезная штука, которая помогает решать многие проблемы. Фото.

ADB — очень полезная штука, которая помогает решать многие проблемы

Что такое ADB

Аббревиатура ADB расшифровывается как Android Debug Bridge или в переводе на русский язык — отладочный мост Android. Вряд ли данная расшифровка будет понятна обывателю, поэтому обойдемся простыми словами и скажем, что ADB — это официальный инструмент для управления смартфоном на базе операционной системы Андроид через компьютер.

⚡ Подпишись на Androidinsider в Дзене, где мы публикуем эксклюзивные материалы

В отличие от специализированного ПО, которое далеко не всегда предоставляет производитель смартфона, ADB работает с любым устройством на Андроид вне зависимости от его стоимости и марки, а также поддерживается всеми популярными ОС компьютера, включая Windows, macOS и Linux. Универсальный инструмент Android Debug Bridge поставляется в составе Android-SDK и обычно используется разработчиками мобильных приложений, но на практике ADB часто бывает полезен самым обычным пользователям, далеким от программирования.

Зачем нужен Android Debug Bridge

Зачем нужен Android Debug Bridge. ADB часто упоминается на нашем сайте как средство решения проблем и изменения настроек телефона. Фото.

ADB часто упоминается на нашем сайте как средство решения проблем и изменения настроек телефона

Недавно на нашем сайте выходил текст о том, как установить русский язык на Android, если его нет на телефоне. Единственным универсальным способом решения проблемы оказалось использование ADB. Но этим возможности Android Debug Bridge не ограничиваются. Помимо принудительного скачивания недостающего языкового пакета ADB позволяет:

  • перепрошить смартфон;
  • установить приложение через компьютер;
  • скопировать файлы как с телефона, так и на него;
  • очистить раздел «data» для освобождения места на внутреннем накопителе;
  • удалить приложения, которые не удаляются со смартфона.

Конечно, это далеко не полный список функций ADB, однако приведенных выше примеров должно быть достаточно, чтобы понять важность отладочного моста Android и попытаться разобраться, как им пользоваться.

❗ Поделись своим мнением или задай вопрос в нашем телеграм-чате

Android Debug Bridge — как пользоваться

Прежде всего вам нужно скачать ADB на компьютер. Сделать это можно бесплатно, используя официальный сайт разработчиков Android. Ниже приведены ссылки на отладочный мост для устройств на разных операционных системах:

Android Debug Bridge скачивается в виде архива, который вы можете распаковать в любую папку. Важно, чтобы путь к каталогу не содержал символов из кириллицы, а сам он располагался в корне диска. Второе условие является необязательным, но оно поможет избежать ошибок ADB при использовании.

Android Debug Bridge — как пользоваться. Так выглядит содержимое папки с ADB. Фото.

Так выглядит содержимое папки с ADB

На время отбросим в сторону компьютер и возьмем в руки смартфон, так как его тоже предварительно нужно настроить. Вам потребуется включить отладку по USB, действуя по инструкции:

    , если не сделали это ранее. Для этого нужно несколько раз тапнуть по версии прошивки во вкладке настроек «О телефоне».
  1. Перейдите в раздел «Расширенные настройки», а затем — «Для разработчиков».
  2. Активируйте переключатель «Отладка по USB», а также «Установка через USB» и «Отладка по USB (Настройки безопасности)».

Android Debug Bridge — как пользоваться. ADB не будет работать без отладки по USB. Фото.

ADB не будет работать без отладки по USB

Можно сказать, что предварительный этап мы закончили, и теперь пришло время запустить ADB. Увы, Android Debug Bridge не имеет собственного интерфейса и работает только через консоль компьютера. На Windows это командная строка или PowerShell, а на macOS и Linux — терминал.

�� Загляни в телеграм-канал Сундук Али-Бабы, где мы собрали лучшие товары с АлиЭкспресс

С учетом того, что большинство из вас пользуется компьютерами на Windows, именно на этой ОС мы остановимся подробнее. Итак, для начала работы с ADB необходимо открыть командную строку. С этой целью зажмите клавиши «Win» + «R», в появившемся окошке введите «cmd» и нажмите «Enter». Также для запуска консоли вы можете использовать поиск Windows.

Android Debug Bridge — как пользоваться. Если вы планируете пользоваться ADB через командную строку, то пакет должен быть распакован в папку, указанную в консоли. Фото.

Если вы планируете пользоваться ADB через командную строку, то пакет должен быть распакован в папку, указанную в консоли

Обратите внимание на то, какое расположение папки указано в консоли. Оно должно совпадать с местом, где находится распакованное содержимое архива ADB. Если пути будут отличаться, вам придется вводить нужный адрес вручную или действовать немного иначе:

  1. Задержите клавишу «Shift» на клавиатуре.
  2. Щелкните ПКМ по папке, в которой лежит содержимое ADB.
  3. Выберете опцию «Открыть окно PowerShell» здесь.

Android Debug Bridge — как пользоваться. Интерфейс PowerShell немного отличается, но функциональность у консоли та же. Фото.

Интерфейс PowerShell немного отличается, но функциональность у консоли та же

Далее необходимо подключить смартфон к компьютеру через USB-кабель. В командной строке введите «adb.exe» и нажмите клавишу «Enter», чтобы проверить правильность распаковки отладочного моста и вывести на экран основные команды, которые будут использоваться для управления телефоном. При использовании этой и других команд в PowerShell необходимо прописывать префикс «./», то есть в данной консоли запрос выглядит как «./adb.exe».

Android Debug Bridge — как пользоваться. Если путь к архиву указан правильно, то примерно так будет выглядеть консоль после выполнения команды «adb.exe». Фото.

Если путь к архиву указан правильно, то примерно так будет выглядеть консоль после выполнения команды «adb.exe»

Теперь нам остается подключить телефон к ADB. Для этого используется команда «adb devices». Введите ее и нажмите Enter.

Android Debug Bridge — как пользоваться. Наличие смартфона в списке говорит о правильности его подключения через ADB. Фото.

Наличие смартфона в списке говорит о правильности его подключения через ADB

Если вы нигде не ошиблись, то увидите в командной строке сообщение «List of devices attached» с указанием номера вашего смартфона, подключенного к ПК через Android Debug Bridge. В дальнейшем для взаимодействия с отладочным мостом вам понадобятся команды ADB, которые нужно вводить аналогичным образом через командную строку или PowerShell.

⚡ Подпишись на Androidinsider в Пульс Mail.ru, чтобы получать новости из мира Андроид первым

Команды ADB

Всего того, о чем я рассказал ранее, уже достаточно, чтобы умело обращаться с отладочным мостом Android, а все прочие вводные вы получите в инструкциях, которые публикуются на нашем сайте. Однако есть смысл выделить несколько основных команд ADB и важных особенностей работы с ними:

  • adb devices — проверка подключения смартфона через Android Debug Bridge;
  • adb install — установка приложений, вводится вместе с расположением инсталлятора (например, «adb install C:\Windows\Users\Androidinsider\Desktop\applications.apk»);
  • adb uninstall — удаление приложений (например, «adb uninstall com.google.android.calendar»);
  • adb shell — открытие доступа к файлам на смартфоне;
  • adb reboot — перезагрузка телефона;
  • adb reboot recovery — перезагрузка в Recovery Mode;
  • adb wipe data — сброс настроек и удаление всех файлов (вводится после «adb shell»).

Надеюсь, теперь вы поняли, что такое ADB, зачем он нужен и как им пользоваться. А при возникновении дополнительных вопросов не стесняйтесь оставлять их в комментариях или в нашем телеграм-чате.

Что такое adb и как он работает

Platform-tools: r34.0.0
ADB: 1.0.41 (34.0.0-9570255)
Fastboot: 34.0.0-9570255
Make_f2fs (casefold): 1.15.0 (2022-05-20)
Mke2fs: 1.46.6-rc1 (12-Sep-2022)
Последнее обновление утилит в шапке: 17.02.2023

  • Посмотреть какие устройства подключены и могут работать с ADB.
  • Просматривать логи.
  • Копировать файлы с/на аппарат.
  • Устанавливать/Удалять приложения.
  • Удалять (очищать) раздел data.
  • Прошивать (перезаписывать) раздел data.
  • Осуществлять различные скрипты управления.
  • Управлять некоторыми сетевыми параметрами.

Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.

adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.

adb -s <серийный_номер_устройства> Команда посылается на устройство с указанным серийным номером:

adb -p <имя устройства или путь> Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.

adb devices Список всех подсоединенных устройств.

adb connect <хост>[:<порт>] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).

adb disconnect [<хост>[:<порт>]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.

adb push <путь на PC> <путь на андроид> Копировать файл/папку PC->девайс.

adb pull <путь на андроид> [<путь на PC>] Копировать файл/папку девайс->PC.

adb sync [<каталог>] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu <команда> Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] <название_приложения.apk> Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] <название_приложения.apk> Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.

adb wait-for-device Ждать подключения устройства.

adb start-server Запустить службу/демон.

adb kill-server Остановить службу/демон.

adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.

adb get-serialno Получить серийный номер.

adb status-window Непрерывный опрос состояния.

adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

adb reboot bootloader Перезагрузка в режим bootloader.

adb reboot recovery Перезагрузка в режим recovery.

adb root Перезапуск демона с правами root

adb usb Перезапуск демона, прослушивающего USB.

adb tcpip <порт> Перезапуск демона, прослушивающего порт TCP.

adb ppp <tty> [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

FastBoot — консольное приложение для PC. Используется для действий над разделами

fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash <раздел> <файл> Прошивает файл .img в раздел устройства.

fastboot erase <раздел> Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.

fastboot update <имя_файла.zip> Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar <имя_переменной> Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot <kernel> [<ramdisk>] Скачать и загрузить kernel.

fastboot flash:raw boot <kernel> [<ramdisk>] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s <серийный номер> Указать серийный номер устройства.
-p <product> Указать название устройства.
-c <cmdline> Переопределить kernel commandline.
-i <vendor id> Указать вручную USB vendor id.
-b <base_addr> Указать в ручную базовый адрес kernel.
-n <page size> Указать размер страниц nand. по умолчанию 2048.

Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).

Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны <приоритет>/<тэг>.
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent

Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации <тэг> и <приоритет>, остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат <тэг>:<приоритет> . где <тэг> указывает нужный тэг, <приоритет> указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар <тэг>:<приоритет> в одном выражении фильтра. Для разделения пар <тэг>:<приоритет> используется пробел.

Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v <format>]
Пример, который показывает сообщения в формате thread:
adb logcat -v thread
Нужно отметить, что можно использовать только один формат с параметром -v.

Просмотр альтернативного буфера лога

Система логов Android держит несколько кольцевых буферов для лога сообщений и не все сообщения отправляются в основной буфер. Для отображения дополнительных сообщений лога нужно запустить logcat с параметром -b.

Таким образом можно посмотреть один из альтернативных буферов:
radio Просмотр буфера с сообщениями связанными с радио/телефоном.
events Просмотр буфера с сообщениями связанными с событиями.
main Просмотр основного буфера (по умолчанию).

Пример ниже показывает буфер с радио и телефонными сообщениями:
adb logcat -b radio

Просмотр stdout и stderr

По умолчанию система Android шлет вывод stdout и stderr (System.out и System.err) в /dev/null (удаляет). В процессах, которые выполняются в виртуальной машине Dalvik (Dalvik VM) может осуществляться запись копии вывода в лог файл. В этом случае система записывает сообщения в лог используя тэги stdout и stderr с приоритетом I.
Для перенаправления вывода нужно остановить эмулятор/устройство, затем выполнить команду shell setprop для включения перенаправления вывода. Пример того как это делается:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
Система сохраняет эту настройку, пока работает эмулятор/устройство. Чтобы использовать эту настройку по умолчанию в эмуляторе/устройстве, нужно добавить эту команду в /data/local.prop в эмуляторе/устройстве.

Список параметров команды logcat
-b <buffer> Загрузить альтернативный буфер лога для просмотра, такой как event или radio. Основной буфер используется по умолчанию.
-c Очистить (сбросить) лог и выйти.
-d Вывести лог на экран и выйти.
-f <filename> Записать сообщения лога в файл <filename>. По умолчанию в stdout.
-g Вывести размер указанного буфера лога и выйти.
-n <count> Установить максимальное количество ротаций лога (количество хранимых сжатых фрагментов лога) <count>. По умолчанию 4. Требует параметр -r.
-r <kbytes> Выполнять ротацию каждые <kbytes> вывода (разделять лог на фрагменты по <kbytes>). По умолчанию 16. Требует параметр -f.
-s Устанавливает silent фильтром по умолчанию.
-v <format> Устанавливает формат вывода сообщений лога. По умолчанию brief.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *