Как вести логи на Android: Logcat, dmesg и ramoops

Хотите знать, как вести логи на Android? В этом руководстве мы расскажем вам о различных распространенных журналах на Android и о том, как их собирать.

Журналы очень полезны, когда разработчик диагностирует ошибку в программном обеспечении. Итак, как пользователь, когда вы жалуетесь разработчику на проблему с его приложением для Android или вторичной прошивкой (кастомным ПЗУ), он попросит вас отправить журнал, чтобы помочь ему устранить проблему. Android включает в себя ряд журналов, касающихся различных частей прошивки, и существует несколько способов сбора этих журналов. В этом руководстве мы поговорим о различных распространенных журналах и о том, как их собирать на Android для отчетов об ошибках.

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

Журналы паники ядра

Журналы паники ядра полезны для выяснения того, что произошло во время неудачной загрузки. Если вы пытаетесь запустить пользовательское ПЗУ, но ваш телефон зависает в цикле загрузки, вы можете собрать журналы паники ядра, чтобы помочь разработчику ПЗУ выяснить, что пошло не так.

Большинство производителей Android используют драйверы pstore и ramoops для хранения журналов ядра после паники. Ramoops записывает свои журналы в оперативную память до того, как система выйдет из строя. При наличии root-доступа эти журналы можно получить из:

/sys/fs/pstore/console-ramoops

Имя файла может немного отличаться, но он будет находиться в каталоге pstore. Вы можете получить его с помощью ADB Pull или любым другим способом. Например:

adb pull /sys/fs/pstore/console-ramoops C:\Users\Gaurav\Desktop\filename

Сообщения водителя

Журнал из буфера сообщений драйверов можно использовать для диагностики проблем с системными драйверами и того, почему что-то не работает. В Android вы можете использовать вывод dmesg для получения этих журналов. Вам понадобиться корневой доступ чтобы получить эти журналы. Используйте следующую команду ADB для экспорта полного журнала.

adbshellsu-cdmesg > dmesg.log

Системные журналы

Системные журналы полезны, когда что-то в системе выдает ошибку. Android позволяет собирать системные журналы с помощью Logcat. Сообщения журнала можно просмотреть в окне Logcat в Android Studio или использовать инструмент командной строки для их извлечения.

В магазине Google Play также доступно несколько приложений для Android, которые обеспечивают легкий доступ к этим инструментам. Об этих приложениях мы поговорим позже в этой статье. Более того, некоторые пользовательские ПЗУ имеют в настройках разработчика опции для сбора системных журналов.

Чтобы собрать журналы с помощью ADB, используйте следующую команду. Эта команда экспортирует непрерывный журнал, поэтому используйте Ctrl + C, чтобы остановить его.

adblogcat > logcat.txt

Вы можете использовать параметр -d для экспорта всего журнала за один раз.

adblogcat-d > logcat.txt

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

adblogcat-dbradio > radio.txt

Если ваше устройство рутировано, вы можете использовать приложение «Терминал» на самом устройстве для сбора журналов. Чтобы сохранить журнал с помощью терминала на вашем телефоне, введите следующую команду, чтобы журнал был сохранен на вашем телефоне.

logcat -d -f /sdcard/logcat.txt

Android-приложения для сбора логов

Логкат Экстрим

Logcat Extreme может помочь вам читать выходные данные logcat и dmesg, а также записывать журналы. Для правильного отображения журналов требуется root-доступ.

Логкат ЭкстримРазработчик: SCDevs

Цена: Бесплатно.

3.9.

Скачать

Читатель Logcat

Logcat Reader — это приложение с открытым исходным кодом, которое позволяет читать и сохранять системные журналы. Он присваивает журналам цветовую маркировку в зависимости от их приоритета.

Читатель LogcatРазработчик: Даршан Параджули

Цена: Бесплатно.

4.2.

Скачать

LiveBoot

Это приложение не является полноценной заменой logcat, но оно по-своему круто и заслуживает упоминания. Цель этого приложения не в том, чтобы помочь вам в отладке, а в том, чтобы предоставить вам альтернативную анимацию загрузки, которая выглядит так, как будто она взята из научно-фантастического фильма.

LiveBoot заменяет анимацию загрузки вашего устройства выводами logcat и dmesg по мере их возникновения. Его выходная конфигурация включает уровень logcat, выбор буфера и формата, отображение dmesg и многое другое. Для этого требуется root-доступ, а также SuperSU версии 2.40 или новее. Подробнее о приложении вы можете узнать на его Тема на XDA.

[корневой] LiveBootРазработчик: Цепной огонь

Цена: Бесплатно.

4.2.

Скачать

Вот некоторые способы сбора журналов на Android. Если вы ищете способ получить root-доступ на своем телефоне Android, ознакомьтесь с нашим подробным руководством по как рутировать свой телефон.