Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

Разделы

Table of Contents
maxLevel2


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

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

  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 от имени администратора.

Info

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


Code Block
languagebash
titleКоманда для запуска записи лога
adb logcat -v threadtime > C:\LogCatOutput.txt

Консоль ADB. Мигающий курсор и отсутствие ошибок, это признак записи лога в файл

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

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

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

Консоль ADB. Запись лога завершена.

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

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

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

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



Code Block
languagexml
titleПример содержимого лога
linenumberstrue
collapsetrue
--------- beginning of system

10-29 17:32:33.148  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:33.148  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:33.158  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:35.480   937  5931 D SSRM:n  : SIOP:: AP = 420, CUR = 460

10-29 17:32:40.675   937  1416 E Watchdog: !@Sync 284

10-29 17:32:43.177   937   972 D BatteryService: !@BatteryListener : batteryPropertiesChanged!

10-29 17:32:43.177   937   972 D BatteryService: level:93, scale:100, status:2, health:2, present:true, voltage: 4233, temperature: 295, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303687, invalid charger:0

10-29 17:32:43.177   937   972 D BatteryService: online:4, current avg:460, charge type:1, power sharing:false, high voltage charger:false, capacity:280000, current_now:460

10-29 17:32:43.177   937   937 D BatteryService: Sending ACTION_BATTERY_CHANGED.

10-29 17:32:43.187   937   937 I MotionRecognitionService: Plugged

10-29 17:32:43.187   937   937 I MotionRecognitionService: setPowerConnected  = true

10-29 17:32:43.187  1273  1273 D STATUSBAR-PhoneStatusBar:  mBrightnessEnablebySettings = true mBrightnessEnablebyBattery = true mBrightnessEnablebyDisableFlag = true mPmsBrightnessEnablebySettings = true

10-29 17:32:43.208  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:43.208  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:43.208  1273  1273 D BatteryMeterView: ACTION_BATTERY_CHANGED : level:93 status:2 health:2

10-29 17:32:45.500   937  5931 D SSRM:n  : SIOP:: AP = 420, CUR = 460

10-29 17:32:55.550   937  5931 D SSRM:n  : SIOP:: AP = 420, CUR = 460

10-29 17:32:56.220   937  1182 V AlarmManager: waitForAlarm result :4

10-29 17:32:56.250   937  6291 D BatteryService: !@BatteryListener : batteryPropertiesChanged!