Введение / Зачем это нужно
Отладка — ключевой этап разработки Android-приложений. Она помогает находить скрытые ошибки, проверять бизнес-логику и улучшать стабильность перед релизом. В этом гайде вы научитесь запускать и контролировать процесс дебага с помощью Android Studio, Logcat и ADB, чтобы быстрее локализовать проблемы и сократить время на исправление.
Требования / Подготовка
Перед началом убедитесь, что:
- Установлена актуальная версия Android Studio (Hedgehog 2023.1.1 или новее).
- Проект собирается в debug-режиме (по умолчанию для запуска из IDE).
- Устройство или эмулятор доступно и видится в системе. Для реального устройства потребуется включить параметры разработчика и отладку по USB.
- ADB установлен и добавлен в PATH (идёт в комплекте с Android SDK).
Пошаговая инструкция
Шаг 1: Настройка устройства и подключение
Включите отладку по USB на устройстве: перейдите в Настройки → О телефоне → 7 раз тапните по Номер сборки, затем вернитесь в Настройки → Система → Параметры разработчика и включите Отладка по USB. Подключите устройство к компьютеру и выполните:
adb devices
Убедитесь, что ваше устройство отображается со статусом device. Если его нет, проверьте кабель, разрешение на компьютере и повторно авторизуйте отладку.
Шаг 2: Запуск сессии дебага в Android Studio
Откройте проект в Android Studio, выберите debug-вариант сборки в конфигурации запуска и нажмите Debug (значок жука). При первом запуске на устройстве может появиться запрос на разрешение отладки — подтвердите его. Android Studio скомпилирует проект, установит APK и запустит приложение с подключенным отладчиком.
Шаг 3: Работа с точками останова и Logcat
Установите точки останова (breakpoints) в местах, где предполагается ошибка или сложная логика. Запустите приложение до их срабатывания. Откройте вкладку Logcat и фильтруйте сообщения по имени пакета или уровню важности, например:
package:com.example.myapp level:error
При остановке на breakpoint используйте Debugger UI для пошагового выполнения (Step Over, Step Into), просмотра стека вызовов и значений переменных. Это позволяет понять, где именно ломается поток.
Шаг 4: Инспекция переменных и анализ производительности
Когда сессия дебага активна, используйте панель Variables для проверки состояния объектов и выражений. При необходимости изменяйте значения переменных в памяти для тестирования сценариев без перезапуска. Для сетевых проблем откройте Profiler и посмотрите вкладку Network: это поможет выявить долгие запросы, утечки соединений или некорректные заголовки.
Шаг 5: Использование ADB для расширенной диагностики
Даже без Android Studio можно собирать информацию. Основные команды:
# Просмотр логов в реальном времени
adb logcat
# Фильтрация по тегу и уровню
adb logcat MyTag:E *:S
# Сбор полного отчёта об ошибках
adb bugreport > bugreport.zip
Эти данные полезны для анализа ANR, частых падений и системных сбоев, которые не всегда видны в IDE.
Проверка результата
После исправления проблем убедитесь, что:
- Приложение запускается и работает без падений на всех целевых устройствах.
- В Logcat не остаётся необработанных исключений (FATAL EXCEPTION) для вашего пакета.
- Точки останова срабатывают корректно, а значения переменных соответствуют ожидаемым.
- Сетевые запросы выполняются в разумное время и возвращают корректные коды ответов.
Возможные проблемы
- Точки останова не срабатывают — проверьте, что сборка debug, а не release, и что устройство не использует оптимизации вроде Instant Run, которые могут смещать код.
- Logcat перегружен системными сообщениями — создайте сохранённый фильтр в Android Studio по имени пакета и уровню Error/Warn.
- Разрывы отладки на старых устройствах — используйте качественный кабель, отключите энергосбережение USB и в Android Studio включите опцию отключения экрана блокировки во время отладки.
- ADB не видит устройство — перезапустите сервер командами
adb kill-serverиadb start-server, повторно авторизуйте отладку на устройстве и проверьте, нет ли конфликтов с другими программами, использующими порт 5037.