Как включить режим разработчика и записать трассировку системы на Android

Чтобы включить параметры разработчика: Настройки → О телефоне → 7 раз тап на «Номер сборки», затем включить USB‑отладку в Developer options. «Трассировка системы» — это запись событий ядра и подсистем (CPU, графика, I/O, wakelocks) — нужна для поиска лагов, утечек батареи и тормозов приложений.

Как включить параметры разработчика

  1. Откройте Настройки → О телефоне (или Система → О телефоне).
  2. Найдите «Номер сборки» (Build number) и тапните по нему 7 раз. При необходимости введите PIN.
  3. Вернитесь в Настройки → Система → Для разработчиков (Developer options).
  4. Включите переключатель «Для разработчиков». Обязательно включите «USB‑отладка» (USB debugging) для работы с adb/Android Studio.
  5. При необходимости включите «Показывать ANR» или «Profile GPU rendering» для быстрой визуальной диагностики.

Если пункт «Номер сборки» не виден, в некоторых оболочках он находится в разделе «Информация о ПО» или «Версия Android».

Что такое «трассировка системы» и зачем она нужна

Трассировка системы (system tracing) — это сбор временных меток и событий разных слоёв системы: scheduler, binder, графический стек, GPU, I/O, wakelocks, энергопотребление. По сути вы получаете детальную временную шкалу работы устройства, что позволяет:

  • найти причины «подёргиваний» UI (jank, dropped frames);
  • увидеть долгие операции ввода-вывода и блокировки потоков;
  • проанализировать потребление CPU и частоты кластеров;
  • отследить причины быстрого разряда батареи (частые пробуждения, wakelocks).

Трассировка полезна как для разработчиков приложений, так и для инженеров платформы.

Как сделать трассировку: практические способы

  1. Через Android Studio (рекомендуется для большинства задач):

    • Подключите устройство по USB и включите USB‑отладку.
    • Откройте Android Studio → View → Tool Windows → Profiler. Выберите устройство и процесс.
    • В профайлере выберите System Trace/CPU и нажмите Record. Запишите короткий сценарий, затем остановите и изучите визуализированный трейс.
  2. Через Perfetto UI / встроенный трекер (для подробных системных трасс):

    • На современных версиях Android используется Perfetto. Запись можно инициировать из Android Studio или с помощью инструментов Perfetto.
    • После записи трассу открывают в Perfetto UI (локально) для детального анализа слоёв и флагов.
  3. Через adb (быстро и без Android Studio):

    • Для получения общего отчёта: adb bugreport > bugreport.zip — соберёт логи и дампы.
    • Для записи профиля с помощью системного трейсера (если доступен): можно запускать утилиты трассировки на устройстве и сохранять файл для анализа в Perfetto/Chrome tracing.

Во время записи трассировки могут быть собраны конфиденциальные данные (пакеты, активные процессы). Не публикуйте trace-файлы без очистки и согласия участников. Запись влияет на производительность и батарею — держите длительность минимальной.

Частые ошибки

  • Не включили USB‑отладку — устройство не видит adb/Android Studio.
  • Длинная запись на рабочем устройстве — сильно влияет на батарею и нагрев.
  • Попытка анализировать trace без фильтрации — огромный объём данных пугает; фильтруйте по PID/тегам.
  • Передача trace третьим лицам без удаления личной информации.

FAQ

  • Нужно ли рутировать устройство для трассировки?
    Нет. Для большинства задач достаточно USB‑отладки и Android Studio. Некоторые низкоуровневые события доступны только на устройствах с разрешёнными настройками платформы, но обычная Perfetto‑трассировка работает без рута.

  • Какую длительность записи выбирать?
    Короткие записи (10–30 с) для UI‑лагов; до нескольких минут для исследования редких проблем. Дольше — больше шума и нагрузки.

  • Как открыть полученный trace?
    Откройте в Android Studio Profiler или загрузите в Perfetto UI/Chrome tracing для визуализации и поиска «горячих» участков.

  • Можно ли делать трассировку по Wi‑Fi?
    Да, но для надёжности лучше USB; некоторые сценарии позволяют adb over TCP, но это медленнее и менее стабильное решение.

Если нужно, дам краткий чеклист для конкретной модели устройства или пример команды для вашей версии Android.