Adb log android что это

Adb log android что это

Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021

ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:

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

Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.

Если что-то неправильно, то в списке подключенных устройств (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->девайс.

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

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

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

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

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

adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-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 [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. 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 в раздел устройства.

Читайте также:  Netop remote control android

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

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

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

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

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

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

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

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

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

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p

Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n

Указать размер страниц 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

Источник

Получение отчета об ошибках и лога LogCat

Для решения проблем с мобильным приложением желательно узнать, что происходило в системе в момент возникновения ошибки. Это можно узнать из системного журнала — лога LogCat.

Способ получения записей в журнале зависит поставленной задачи и версии Android. Мы рассмотрим два популярных способа.

Читайте также:  Что такое кэш андроид как чистить

Разделы

Меню «Для разработчиков»

Для выполнения действий из этой статьи нам нужно получить доступ к меню «Для разработчиков»:

  1. Перейдите в настройки мобильного устройства и выберите пункт «О телефоне».
  2. Найдите информацию о номере сборки и нажмите не менее семи раз подряд на эту строку.

После этого в настройках устройства появится пункт «Для разработчиков».

Получение отчета об ошибке

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

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

Формируем отчет об ошибке:

  1. Перейдите в настройки мобильного устройства и выберите пункт «Для разработчиков».
  2. Найдите пункт «Отчет об ошибке» и нажмите на него.
  3. Появится запрос о детализации отчета — выбираем «Подробный отчет».
  4. После запроса отчета он будет формироваться некоторое время. По окончании система покажет уведомление с предложением отправить отчет.
  5. Нажмите на уведомление и в стандартном окне отправки файлов, выберите «Сохранить на диске».

Полученный файл отправьте в наш отдел технической поддержки вместе с описанием действий, при которых возникает ошибка.

Получение лога LogCat через ADB

Если у вас в меню нет пункта «Отчет об ошибке» или требуется получить записи системного журнала — это можно сделать с помощью Android Debug Bridge, ADB.

Для этого нам понадобится телефон, USB кабель и компьютер.

Подключение устройства к компьютеру

Перед подключением устройства нам нужно разрешить в его настройках отладку по USB:

  1. Для этого переходим в меню «Для разработчиков» и ставим флажок в пункте «Отладка по USB».
  2. После включения отладки подключите устройство к компьютеру и на запрос системы Android о доверии к компьютеру ответьте «Доверять».

Загружаем и устанавливаем Minimal ADB

Minimal ADB можно загрузить по прямой ссылке с нашего сайта. Загрузить Minimal ADB 1.4.3, ZIP 1 Мб.

После загрузки распакуйте архив и запустите файл «minimal_adb_fastboot_v1.4.3_setup.exe». Для установки потребуются права администратора Windows. Можете установить с параметрами по умолчанию — это сэкономит ваше время.

Запуск записи лога

После установки будет запущена консоль Android Debug Bridge. В нем нужно ввести команду записи лога и нажать «Enter». Проверьте, что пользователь имеет право на запись в папку, куда будет сохранен файл. Или запустите ADB от имени администратора.

Если после установки консоль ADB не запустилась или вы ее закрыли, то всегда можно открыть ее с помощью ярлыка на рабочем столе «Minimal ADB and Fastboot». Посмотреть внешний вид ярлыка.

Воспроизведение ошибки и окончание записи

После ввода команды, ADB будет записывать в указанный файл все события в системе Android. Чтобы зафиксировать ошибку, ее нужно воспроизвести еще раз.

Когда ошибка произошла, перейдите в консоль ABD и нажмите сочетание клавиш Ctrl+C — это остановить запись лог-файла.

Отправка файла

После окончания записи упакуйте полученный файл в архив и отправьте в нашу техническую поддержку с описанием условий возникновения ошибки.

Пример записанного файла

Для примера мы разместили здесь несколько строк из записанного файла лога LogCat.

Источник

ADB Logcat Command – How to use ADB Logcat Command to capture debug logs from an Android device

ADB Logcat is the command-line tool for dump logs or print logs of the android system to the screen. Logcat can print sys logs, stack traces, thrown error messages from the device, and the Log class messaged written in the app.

In this article, you will learn what is ADB Logcat and how to use adb logcat command practically for your android testing or debugging tasks with proper examples. how to filter the targeted logs, how to save adb logcat output to file, and many more things.

While doing android app security testing, adb logcat performs a very helpful job. This tool will help us better understand the android application at run time.

Android Debug Bridge (ADB) Logcat bash command provides many features like we can filter the logs for specific packages, specific activities within the apps, filter the logs based on the buffer, filter the logs based on log priorities, filter the logs by tag names, etc.

Читайте также:  Installation failed please check if you have enough free disk space to install android x86

Basic requirements to use ADB Logcat

Ive listed some basic requirements to use adb logcat command:

  1. ADB binary or ADB driver installed in your computer or the machine in which you want to get the logs.
  2. An android phone or android emulator to run the APK file.
  3. Android device or emulator has USB Debugging enabled in settings.

Installation of ADB

Installing ADB is very simple. For Ubuntu/Debian and its derivatives, use the following command:

Now, connect your android device with your PC using USB cable.

But, ADB only interacts with the android device once the “USB Debugging” option is enabled on the android device. USB Debugging option remains under Settings > Developer options.

Developer options is hidden by default, use the following steps to enable it:

  1. On the device, go to Settings > About Phone.
  2. Tap the Build number seven times to make Settings > Developer options available.
  3. Then enable the USB Debugging option.

Now use adb devices command to view the attached devices,

If you don’t have attached devices then connect the device using adb connect command. And if you are getting a “the ADB server version doesn’t match this client” Error then you can troubleshoot by the steps described here.

Adb Help Manual

We can access logcat manual by bash adb logcat —help command.

Using ADB Logcat

After proper installation of adb and proper connection connection with android device, we can use adb logcat command to start the android system log dumping.

This simple adb logcat command will show all adb logs.

Save Output of adb logcat to file (adb logcat save to file)

To save the output of adb logcat to file, we have multiple methods,

  1. adb logcat save to file using redirection operator of Linux bash command line.

After firing the following command start working on your android activities, the output will be stored under the specified file. Enter “Ctrl+C” to stop writing to file.

Disadvantage of this method is, you can’t watch what happending at run time. You have to open the file independenlty or first stop the output and observe the file.

To overcome this issue I have a different linux command to do both save and observe the ouptut parallely.

  1. Linux “tee” command for output of adb logcat save to file:

Using tee command with Pipe operator(|), we can observe the logcat output at run time and it will also be saved in the file parallelly. So it is a preferable method.

Note: To stop the saving output in file and monitoring it, press Ctrl+C

adb logcat Filters

Select Logcat for a specific device among multiple devices

If you have multiple devices connected with you PC, we have to choose with its device id.

To select the device when using adb logcat, use the following command with -s (adb Serial number) option.

adb logcat Filter by App or Filtering by application package name

To view the logs for specific apps, first of all we need to package name for the specific app. To get the package name we can use following command of ADB.

Identify the package name and we are ready to go.

I am using this customized command to get the logs for the specific apps

Filtering Log Output

Logcat logs got so called levels:

V — Verbose, D — Debug, I — Info, W — Warning, E — Error, F — Fatal, S — Silent

Those levels are specified when application uses those Log function:

if your code Log call is:

in logcat you’ll see this output:

So, this is the log convention:

For instance, if you want to show all the logs that have Fatal (F) level:

* is a what called a wild card – stands for all package names

Источник

Оцените статью