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

Как посмотреть логи на андроиде

  • автор:

Как посмотреть логи на андроиде

Для всех приложений

Общие вопросы

Как получить лог-файл Android-смартфона

Статья обновлена: 24 апреля 2019 ID: 13048

При обращении в техническую поддержку по продуктам для Android специалисты «Лаборатории Касперского» могут попросить вас создать лог-файл Android-смартфона. По умолчанию доступ к лог-файлам отключен. Для того чтобы получить доступ, включите режим отладки.

Как включить режим отладки

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

  1. В меню настроек нажмите пункт Об устройстве (О телефоне и т.п.).

Об устройстве

  1. Найдите пункт меню Номер сборки (он может находиться, например, в разделе Версия ПО).

Номер сборки

  1. Несколько раз подряд нажмите на Номер сборки, пока не появится сообщение «Вы разработчик».

Включение режима разработки

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

Для разработчиков

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

Как снимать логи с устройств на Android и iOS: разбираемся с инструментами

Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.

Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.

Уровни логирования и что они означают

Для начала разберёмся с логами. Это текстовые файлы, в которых записываются все действия пользователя. Например, какие кнопки он нажимает в приложении и как на это оно реагирует в ответ.

Записи в логах формируются в хронологическом порядке. Самая свежая — внизу.

Есть два вида логов:

  • Crash logs — файл, в котором хранятся записи только об ошибках экстренного завершения программы — по-простому, когда приложение крашнулось.
  • Logs — простые логи, или журнал событий. Это файл, в котором хранятся системные записи и ответы устройства на действие пользователя.

Логи на мобильных устройствах бывают нескольких уровней:

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

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

Рассмотрим подробнее каждый уровень.

Error (ERROR)

На этом уровне информируются ошибки работы системы.

Записи этого уровня требуют быстрого вмешательства разработчика — на такие ошибки нужно реагировать максимально быстро.

Как пример, такая запись в логе:

“ SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length ”

Это ошибка, в которой говорится, что строковый элемент span не может быть пустым.

“ [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008] ] ”

Эта системная ошибка сообщает, что происходит утечка памяти при взаимодействии с каким-то элементом или приложением.

Warning (WARN)

На этом уровне отображаются записи, сообщающие о каком-то неожиданном поведении, требующем внимания, или о ситуации, которая незнакома системе.

Например, сообщение ниже — запись из тестового приложения:

“ [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -2147483648 “

Мы пытаемся декодировать запись в какой-то формат, но его нет. Ошибка сообщает о неуспешной попытке настройки видеоплеера в нужном формате.

“ BroadcastQueue: Permission Denial: broadcasting Intent ”

Эта системная ошибка говорит о сбое в работе одного из виджетов на устройстве.

Info (INFO)

На этот уровень приходят записи информационного характера, например о работе системы.

Допустим, такое сообщение об уровне заряда батареи на устройстве:

“ APwBatteryMonitor: screen off start battery: 100 ”

А это сообщение говорит о том, что экран устройства был выключен:

Ещё в логи этого уровня входят запросы от клиента на сервер: хедеры, тело запросов, которые отправляет клиент, и ответы сервера.

okhttp.OkHttpClient: server: nginx/1.15.9

okhttp.OkHttpClient: date: Thu, 23 Sep 2021 19:41:17 GMT

okhttp.OkHttpClient: content-type: application/json

okhttp.OkHttpClient: vary: Accept-Encoding

okhttp.OkHttpClient: strict-transport-security: max-age=15724800; includeSubDomains

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

Debug (DEBUG)

Это уровень сообщений, в которых передаётся информация о процессах отладки или шагах работы крупных процессов.

Например, в записи ниже сказано, что пользователь нажимал на кнопку уменьшения или увеличения громкости:

Сначала мы видим запись о самом факте нажатия на кнопку, далее оно расшифровывается подробнее:

Ещё пример: если ваше приложение использует сокет-сессию, то на уровне DEBUG мы можем увидеть, когда сессия начинается и заканчивается:

“ b$b: WebSocket connected ”

Verbose (VERBOSE)

Сообщения такого уровня уточняют или раскрывают действия.

Например, у нас есть служба управления окнами на экране приложения. И на уровне Verbose мы можем увидеть подробности её работы.

WindowManager: Removing Window

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

GnssLocationProvider: reportLocation Location [. ]

А меняя звук на устройстве, мы увидим, как растёт или падает значение:

AudioManager: getStreamVolume streamType: 3 volume: 10

Каждое нажатие, то есть изменение звука, будет отражаться новым сообщением.

Verbose — уровень самого низкого приоритета. Выбирая такой уровень отображения логов, мы будем видеть записи и со всех предыдущих уровней.

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

Инструменты для снятия логов: Android

Расскажем о трёх способах.

Первый — Logcat в составе Android Studio, самый известный и широко используемый.

Для снятия логов нам необходимо перевести устройство в режим разработчика/отладки. Для этого нужно:

  • найти в настройках номер нашего билда или ОС (в зависимости от устройства),
  • около десяти раз нажать на эту информацию,
  • при появлении сообщения о том, не хотим ли мы перевести устройство в режим разработчика, нажать «Ок».

Примечание: алгоритм может отличаться в зависимости от производителя устройства, потому что у многих из них свои надстройки на ОС Android.

Дальше подключаем устройство по USB к ПК и устанавливаем Android Studio.
Следующие шаги на скрине:

  1. Выбираем вкладку Logcat (переходим к сообщениям в реальном времени).
  2. В окошке выбираем телефон, с которого снимаем логи.
  3. На этой вкладке выбираем логи определённого приложения. Если нужно снять вообще все логи со всех приложений и системы, эту вкладку стоит не трогать. Рядом с ней можно выбрать уровень логирования (вкладка Verbose на скрине).
  4. В поле поиска, где мы можем фильтровать выдачу, разрешено писать что угодно — от названия пакета до частей вроде fatal.

На скрине видно логи с подключенного устройства.

Второй способ — выгрузка логов с самого устройства. Кроме режима разработчика нам нужно подключить устройство к ПК через USB и установить ADB — Android Debug Bridge.

Открываем терминал и пишем две команды.

Первая — adb devices — показывает подключённые устройства, которые видит ADB. В терминале выглядит так:

Название устройства — 7BKDU18504001505

Вводим вторую команду — adb -s название устройства logcat, — которая запускает утилиту Logcat для конкретного устройства. В терминале в реальном времени будут поступать логи.

Как их читать?

  1. В первом столбце — дата и время поступления записи.
  2. Во втором — обозначения уровней логирования. Например, D — это Debug.
  3. В третьем показываются названия инструмента, утилиты, пакета, от которых поступает сообщение, а также расшифровка того, что вообще происходит.

Третий инструмент — SDK Platform Tools. Процесс его установки практически аналогичен предыдущим двум:

  • переводим телефон в режим разработчика,
  • подключаем к ПК по USB,
  • скачиваем на ПК папку SDK PT (под свою ОС),
  • открываем папку SDK PT в терминале.

Теперь пишем команду ./adb logcat –v threadtime > ./android-debug.log.

В терминале это выглядит так:

Прерываем выполнение команды (например, на Mac это Control+C). Лог добавляется в папку.

В первом столбце — дата и время, во втором — уровни логов, в третьем — указание на то, от какой части системы поступают данные, лог и его расшифровка/подробности

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

Инструменты снятия логов: iOS

В первую очередь нас интересует xCode — интегрированная среда разработки (IDE), в которую встроен нужный нам инструмент Simulator.

Как использовать инструмент:

  1. Устанавливаем xCode.
  2. В системной строке нажимаем xCode → Open Developer Tools → Simulator.
  3. Устанавливаем приложение.
  4. В самом симуляторе выбираем Debug → Open System Log.

Мы будем видеть логи в реальном времени:

Подобное оформление логов мы уже где-то видели, но построение информации в выдаче немного отличается. Есть дата и время (1) и данные (2) о том, с какого устройства снята информация: имя компьютера, элемент системы, с которого пришло сообщение, и его расшифровка.

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

Записи можно отфильтровать по конкретному процессу (вашему приложению):

  1. Устанавливаем xCode.
  2. Подключаем устройство к ПК по USB.
  3. Открываем xCode → Windows → Devices and Simulators.

Дальше нажимаем у устройства Open Console и видим панель с названием устройства, информацией о модели и ОС:

1 — все приложения, которые установлены на устройстве, 2 — версия устройства, 3 — пакет приложения устройства

Логи поступают в реальном времени, но их удобно отслеживать:

У нас есть три столбца:

  1. «Время» — время поступления сообщения.
  2. «Процесс» — с какой части системы/приложения пришло сообщение.
  3. «Сообщение» — описание события, сервисная информация.

В инструменте есть поиск для фильтрации выдачи. Ещё есть полезная кнопка «Приостановить» — она останавливает поток логов.

А вот утилита iMazing поможет снимать iOS-логи для тех, у кого установлен Windows. Приложение платное, но часть функциональности доступна бесплатно. Например, за снятие логов устройства платить не нужно.

В меню выбираем «Показать консоль устройства». В открывшемся окне приходят записи логов в реальном времени со всего устройства.

1 — дата и время получения сообщения; 2 — имя телефона, информация, с какой части устройства пришло сообщение, и описание; 3 — поисковая строка для фильтрации выдачи

Ещё одно важное достоинство iMazing — возможность сохранять логи (разумеется, по кнопке «Сохранить»).

Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.

Как снять логи для iOS и Android приложений

Оксана Куценко

Как снять логи для iOS и Android приложений

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

Загружаются из магазина приложений (Google Play или App Store) на мобильном устройстве.

Виды мобильных приложений:

  • Нативные
  • Веб-приложения
  • Гибридные

Распространенные причины возникновения багов в мобильных приложениях:

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

Важную роль при диагностировании ошибок в мобильных приложениях играют логи.

Логи и их виды

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

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

Виды логов

Логи мобильных приложений делятся на два основных вида: консольные (обычные) логи и креш-логи.

Консольные логи — это лог-файлы, являющиеся журналом событий и содержащие все записи о системных событиях, ответы устройства на действия пользователя, которые обновляются в режиме реального времени.

Креш-логи — это лог-файлы, которые создаются после экстренного завершения работы программы (креша). Файлы креш-логов имеют расширение .crash или .ips. Креш-логи содержат информацию с момента запуска программы и до экстренного завершения программы.

Как снять логи мобильных приложений

Существуют разные варианты снятия логов для мобильных приложений в зависимости от операционной системы телефона (Android, iOS).

Как снять логи с iOS

Одним из самых распространенных способов для получения логов для приложений iOS является получение с помощью XCode.

XCode — это среда разработки программного обеспечения для платформ macOS и iOS.

Для снятия логов через XCode необходимо:

  • Установить XCode
  • Подключите устройство к Mac
  • Запустить XCode
  • Открыть вкладку «Window» — «Devices and Simulators»
  • Нажать кнопку «View Device Logs»
  • Найти нужный лог-файл и скопировать его в текстовый файл

Также получить логи можно с помощью iMazing (доступно как для Windows, так и для MacOS).

Как снять логи с Андроид

Для того, чтобы снять с Android логи приложения, понадобится Android Studio.

Android Studio — интегрированная среда разработки (IDE) для платформы Android.

Для снятия логов с помощью Android Studio нужно:

  • Установить Android Studio
  • Создать новый проект в «Android Studio» (при создании нового проекта нужно правильно указать версию Android девайса, с которого необходимо снять логи)
  • Включить режим разработчика на Android девайсе
  • Подключить устройство через USB к компьютеру
  • Выбрать девайс в Android Studio
  • Выберите вкладку LogCat
  • Воспроизвести ошибку на девайсе или найти по дате воспроизведения логи (если мы знаем время, когда воспроизводилась проблема)
  • Выделить нужные логи и скопировать их (правой клавишей мыши → Copy или Ctrl+C)
  • Создать файл .txt, добавить в него логи и сохранить их

Также для снятия логов с Android девайсов можно использовать Minimal ADB приложение.

  1. XCode — https://developer.apple.com/xc.
  2. Android Studio — https://developer.android.com/.
  3. iMazing — https://imazing.com/download

Как посмотреть логи с устройства?

Примечание. Серверная часть работы протокола была реализована и протестирована с помощью GenieACS – программного продукта с открытым исходным кодом, который поддерживает протокол TR-069. Конфигурирование операций по удаленному управлению STB рассмотрено на примере сервера GenieACS. Обратите внимание, что Клиент TR-069 может работать с любыми ACS-сервером, поддерживающим стандарт TR-069.

1. На вкладке Devices выберите устройство, логи которого Вы хотите посмотреть.

Как посмотреть логи с устройства?

2. В Device parameters нажмите на поле InternetGatewayDevice.DeviceInfo.DeviceLogs.

Как посмотреть логи с устройства?

3. Вы увидите логи устройства. При отправке лог-файла генерируется два блока:

  • Логи TR (получение команд от сервера и их статусы)

Как посмотреть логи с устройства?

  • WARNINGs и ERRORs приставки (logcat).

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

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

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar