Руководство: отправка Logcat для помощи в отладке вашего любимого приложения

click fraud protection

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

Хорваты машут флагом ЕС, празднуя вступление Хорватии в Европейский Союз на площади Бана Елешича в Загребе 30 июня 2013 года. Десятки тысяч хорватов приветствовали вступление страны в Европейский Союз в полночь воскресенья (22:00 по Гринвичу), почти через два десятилетия после окончания кровавой войны за независимость бывшей югославской республики. ФОТО AFP / СТРИНГЕР

В тот или иной момент это случалось со всеми нами. Нет ничего постыдного в том, чтобы признать это. Иногда приложения Android вылетают. Независимо от того, используете ли вы полностью стандартное устройство для запуска Google Maps или специально настроенное ПЗУ с модулем Xposed для улучшить Google Hangouts, могут возникнуть сбои приложений и другие проблемы, которые даже могут стать серьезным препятствием. Это особенно актуально при разработке небольших настроек и приложений, подобных тем, которые можно найти на нашем веб-сайте. При возникновении проблем одна из наиболее конструктивных и полезных идей, которые пользователь может предоставить разработчику относительно характера сбоя, — это предоставить

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

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


Что такое Logcat и как его получить?

Logcat — это инструмент ADB Shell, используемый для получения журнала всех системных событий. Сюда входят ошибки, предупреждения, трассировки стека и общие системные события. При возникновении ошибки в этот журнал выводится ключевая информация, указывающая на источник сбоя, что делает его очень полезным инструментом для устранения неполадок. Обычно они извлекаются и фильтруются с помощью команд ADB. Однако такие приложения, как aLogcat, Журнал каталогови наш инструмент, выбранный для этой статьи, Матлог, сэкономили пользователям усилия, скомпилировав эти командные инструменты в графический интерфейс приложения, загружаемого из Play Store.

Как уже упоминалось, Matlog — это то, что мы используем для сбора Logcats. Matlog, выбранный за простой, но удобный интерфейс, был создан младшим участником XDA. plusCubed и на основе Нолан Лоусон приложение с открытым исходным кодом Catlog. Нравится, Матлог может быть скомпилировано из исходников, или скачан бесплатно из магазина Google Play. Несмотря на то, что рутирование позволяет вам пропустить шаг во время установки, root-доступ не требуется для сбора Logcats. Если ваше устройство не рутировано, одна команда оболочки ADB предоставит приложению доступ для чтения журналов вашего устройства. Вы еще не установили ADB на своем компьютере? Нет проблем, просто выполните следующие действия, чтобы запустить его.

Примечание. В телефонах Huawei полностью отключен вывод Logcat. Вам нужно будет изменить скрытый параметр. прежде чем продолжить чтение остальной части этого руководства.


Настройка АБР

Первый, загрузите двоичный файл ADB прямо из Google для вашей конкретной ОС и извлеките его в отдельный каталог на вашем компьютере. Следующий, установите правильный драйвер для вашего конкретного телефона. Затем включите «Отладку по USB» в «Настройки» -> «Параметры разработчика». Если вы не видите «Параметры разработчика», вам нужно будет включить их, перейдя в «Настройки» -> «О телефоне», а затем нажав «Номер сборки» 7 раз. Наконец, убедитесь, что ADB работает, запустив командную строку в том же каталоге, что и двоичный файл ADB (щелкните правой кнопкой мыши -> «открыть командную строку здесь») и выполните следующую команду:

adb devices

Если вы видите серийный номер вашего устройства (и на нем нет надписи «Неавторизованный»), вы молодец. Если вы видите всплывающее окно на своем телефоне с просьбой предоставить вашему компьютеру доступ к ADB, скажите «да». Если вы не видите ни того, ни другого, попробуйте перезагрузить компьютер/телефон и снова подключить его к компьютеру. В противном случае попробуйте переустановить драйвер.


Настройка Матлога

Теперь, когда ADB запущен и работает (надеюсь), все, что вам нужно сделать, чтобы включить в Matlog возможность захвата Logcats, — это выполнить следующую команду в оболочке ADB. Опять же, если на вашем устройстве уже есть root-доступ, вам не нужно запускать эту команду, поскольку это необходимо только для нерутированных телефонов.

adbshellpmgrantcom.pluscubed.matlogandroid.permission.READ_LOGS
Виджет Matlog Record рядом с неисправным приложением

После включения и открытия Matlog будет отображать системные события в режиме реального времени. Вы можете нажать кнопку паузы, чтобы остановить это, затем коснуться меню с многоточием и выбрать «Очистить», чтобы очистить поле от посторонних данных. Рекомендуется сделать это при подготовке к регистрации неисправного приложения, чтобы сократить размер журнала. Чтобы еще больше сократить шаги и, следовательно, длину журнала, добавьте виджет Matlog на рабочий стол рядом с рассматриваемым приложением, вызывающим сбой, как показано справа. В этом случае, Апктул X это наше неисправное приложение.

Нажатие на виджет позволяет назвать журнал и начать его запись. Затем просто воспроизведите неисправность сразу после начала регистрации, что заполнит Logcat соответствующей информацией для вашей проблемы. Как только проблема будет воспроизведена, просто коснитесь виджета еще раз, чтобы завершить запись журнала.

После этого Matlog откроется захваченный журнал. Коснитесь эллипсов и выберите «Отправить», чтобы отправить журнал по электронной почте в виде вложенного текстового файла вместе с общей информацией об устройстве. Вот и все! Ваш Logcat успешно захвачен и отправлен. профессору Оуку.

В моем примере выше я могу сказать, что причина сбоя Apktool X заключается в том, что мое устройство не рутировано. Да! мне следовало бы полностью прочитать статью прежде чем пытаться использовать приложение.

Это было слишком легко

Конечно, не все проблемы так легко уловить. Иногда проблемы, связанные с загрузкой, или проблемы, которые продолжаются в течение длительного периода времени, могут потребовать регистрации других функций приложения. В таких случаях вам нужно разрешить Matlog работать в фоновом режиме (не приостанавливать и не очищать его) и использовать функции уровня журнала и фильтра для анализа данных.

Хотя это обычно не единственный необходимый метод для сбора соответствующих данных, в некоторых ситуациях требуется больше контекста — каждый из этих инструментов можно использовать в более длинных журналах для сортировки и указания данных для разработчик. Естественно, это зависит от характера ошибки и того, что просит разработчик. Чтобы использовать любой из них, просто запустите Matlog, воспроизведите проблему, вернитесь в Matlog, коснитесь точечного меню и выберите один из этих двух методов сортировки.

Выбор уровня журнала. Показаны только ошибки.

Уровень журнала

Еще одна команда ADB, упрощенная с помощью Matlog, — функция уровня журнала, которую можно использовать для просмотра определенных типов системных событий и сообщений. Ниже приведено краткое описание различных типов сообщений, описанных на веб-сайте разработчиков Android и имеющих цветовую кодировку, соответствующую маркировке Matlog.

От низшего к высшему приоритету:

  • В: Подробный (общие системные события)
  • Д: Отладка
  • я: Информация
  • Вт: Предупреждение
  • Э: Ошибка
  • Ф: Фатальный
  • S: Без звука (наивысший приоритет, при котором ничего не печатается)

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

Набор фильтров поиска для «Apktool»

Фильтры

Фильтры также можно использовать для сортировки данных журнала. Запустив поиск по ключевому слову, пользователь может видеть только те сообщения, которые явно ссылаются на это ключевое слово. Полезные ключевые слова могут включать в себя название неисправного приложения или даже слово «ошибка», поскольку оно охватывает экземпляры этого термина на всех уровнях приоритета, хотя не охватывать все ошибки «уровня журнала».

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

Готовы к отладке?

Хотя вы, возможно, не сейчас Будучи экспертом в отладке приложений Android, знание того, как собирать и отправлять Logcats, может стать отличным ресурсом для разработчиков ваших любимых приложений. Использование Matlog и функций, описанных выше, сбор, сортировка и отправка соответствующей информации о неисправном приложении никогда не были такими простыми.


Использовали ли вы Matlog или другое приложение Logcat? Считаете ли вы это руководство полезным? Дайте нам знать в комментариях ниже!