Skip to content

Latest commit

 

History

History
35 lines (29 loc) · 4.14 KB

File metadata and controls

35 lines (29 loc) · 4.14 KB

Диагностика

English | Русский

Значок жука в верхней панели открывает диагностику. Обновление читает ограниченный фрагмент лога; подготовка письма создаёт отдельный ZIP и передаёт его через FileProvider с временным доступом только на чтение. Предпочтение отдаётся почтовым приложениям, запасной вариант — системное меню отправки. Message487 самостоятельно не отправляет письмо. Очистка удаляет логи, последний креш и кеш архивов, но не очередь сообщений.

В приватном каталоге files/logs хранятся три файла по 256 КиБ и crash-latest.log размером до 256 КиБ. Запись выполняется одним фоновым потоком через очередь на 256 записей; ротация и экспорт используют общую блокировку. При переполнении новые записи пропускаются; их количество фиксируется при следующей успешной записи. Ошибки ввода-вывода не приводят к крешу и отображаются на экране диагностики. Предпросмотр содержит последние 48 КиБ и последний креш. В cache/feedback остаётся не более трёх ZIP с уникальными именами.

Обработчик необработанных исключений синхронно записывает креш с fsync, сохраняет признак для диалога следующего запуска и передаёт управление прежнему обработчику Android. Отдельный файл креша сохраняется при обычной ротации. Обрабатываются необработанные Java/Kotlin-исключения, но не ANR, нативные креши, принудительная остановка или завершение без исключения. Нехватка места и тяжёлые сбои процесса могут помешать записи. Тексты исключений и имена потоков исключены; глубина причин, подавленные исключения и число кадров ограничены. Имена символов приложения и строки исходников сохраняются в release.

Логи используют фиксированный набор событий и типизированные либо разрешённые значения метаданных. Не добавляйте тела сообщений, отправителей, пакеты, URL, ID событий/установок, коды устройств или произвольные тексты исключений. В архив входят версии приложения, Android, сведения об устройстве, архитектура и флаги настроек без секретов.

Команда bundle exec fastlane android checks проверяет ротацию и перезапуск, сохранение креша, исключение секретов, ошибки хранилища, передачу управления прежнему обработчику, хранение архивов и разрешения вложения. Для ручной проверки на debug-эмуляторе запустите приложение, выполните adb shell am crash life.andre.message487 и откройте его снова. Проверьте диалог и ZIP. Остановитесь на редакторе письма, если не собираетесь отправлять отчёт.