Отчет об ошибках содержит журналы устройств, трассировки стека и другую диагностическую информацию, которая поможет вам найти и исправить ошибки в вашем приложении. Чтобы записать отчет об ошибке с вашего устройства, используйте параметр «Отправить отчет об ошибке разработчика» на устройстве, меню эмулятора Android или команду adb bugreport
на компьютере разработчика.
Чтобы отправить отчет об ошибке, на вашем устройстве должны быть включены параметры разработчика , чтобы получить доступ к опции «Отправить отчет об ошибке» .
Захват отчета об ошибке с устройства
Чтобы получить отчет об ошибке прямо с вашего устройства, выполните следующие действия:
- Включите параметры разработчика .
- В разделе «Параметры разработчика» нажмите «Отправить отчет об ошибке» .
- Выберите тип отчета об ошибке и нажмите «Сообщить» .
Через некоторое время вы получите уведомление о том, что отчет об ошибке готов, как показано на рисунке 2.
- Чтобы поделиться отчетом об ошибке, коснитесь уведомления.
Запишите отчет об ошибке из эмулятора Android.
В эмуляторе Android вы можете использовать функцию «Сообщить об ошибке» в расширенных элементах управления:
- Нажмите «Еще»в панели эмулятора.
В окне «Расширенные элементы управления» выберите «Отчет об ошибке» .
Откроется экран, на котором вы можете увидеть подробности отчета об ошибке, такие как снимок экрана, информацию о конфигурации AVD и журнал отчета об ошибках. Вы также можете ввести сообщение с этапами воспроизведения и сохранить его вместе с отчетом.
Дождитесь завершения сбора отчета об ошибке, затем нажмите «Сохранить отчет» .
Запишите отчет об ошибке с помощью adb
Если у вас подключено только одно устройство, вы можете получить отчет об ошибке с помощью adb
следующим образом:
$ adb bugreport E:\Reports\MyBugReports
Если вы не укажете путь к отчету об ошибке, он будет сохранен в локальном каталоге.
Если у вас подключено несколько устройств, вы должны указать устройство с опцией -s
. Выполните следующие команды adb
, чтобы получить серийный номер устройства и создать отчет об ошибке:
$ adb devices List of devices attached emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport
Сохранить старый отчет об ошибке
По умолчанию отчеты об ошибках сохраняются в /bugreports
, и их можно просмотреть с помощью следующей команды:
$ adb shell ls /bugreports/ bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS-dumpstate_log-yyy.txt bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip dumpstate-stats.txt
Затем вы можете вытащить zip-файл через adb pull
:
$ adb pull /bugreports/bugreport-foo-bar.xxx.YYYY-MM-DD-HH-MM-SS.zip
Проверьте ZIP-файл отчета об ошибке.
По умолчанию zip-файл называется bugreport- BUILD_ID - DATE .zip
ZIP-файл может содержать несколько файлов, но наиболее важным является файл bugreport- BUILD_ID - DATE .txt
. Это отчет об ошибке, который содержит диагностические данные для системных служб ( dumpsys
), журналы ошибок ( dumpstate
) и журналы системных сообщений ( logcat
). Системные сообщения включают трассировки стека, когда устройство выдает ошибку, и сообщения, записанные из всех приложений с классом Log
.
ZIP-файл содержит файл метаданных version.txt
, содержащий письмо о выпуске Android. Если systrace включена, zip-файл также содержит файл systrace.txt
. Инструмент Systrace помогает анализировать производительность вашего приложения, фиксируя и отображая время выполнения процессов вашего приложения и других системных процессов Android.
Инструмент dumpstate
копирует файлы из файловой системы устройства в zip-файл в папке FS
, чтобы вы могли ссылаться на них. Например, файл /dirA/dirB/fileC
на устройстве создаст запись FS/dirA/dirB/fileC
в zip-файле.
Дополнительную информацию см. в разделе Чтение отчетов об ошибках .
Получайте отчеты от ваших пользователей
Сбор отчетов об ошибках полезен, поскольку вы сами используете приложение, но ваши конечные пользователи не могут легко поделиться с вами такими отчетами об ошибках. Чтобы получать отчеты о сбоях с трассировкой стека от реальных пользователей, воспользуйтесь функциями отчетов о сбоях Google Play и Firebase.
Консоль Google Play
Вы можете получать отчеты из консоли Google Play для просмотра данных о сбоях и ошибках «приложение не отвечает» (ANR) от пользователей, которые установили ваше приложение из Google Play. Доступны данные за предыдущие шесть месяцев.
Дополнительную информацию см. в разделе «Просмотр сбоев и ошибок приложения, которые не отвечают (ANR)» в справке Play Console.
Отчеты о сбоях Firebase
Отчеты Firebase Crashlytics создают подробные отчеты об ошибках в вашем приложении. Ошибки группируются в проблемы на основе схожих трассировок стека и сортируются по серьезности воздействия на ваших пользователей. Помимо автоматических отчетов, вы можете регистрировать пользовательские события, чтобы отслеживать действия, ведущие к сбою.
Чтобы начать получать отчеты о сбоях от любого пользователя, добавьте зависимости Firebase в файл build.gradle
. Дополнительную информацию см. в разделе Firebase Crashlytics .