Введение / Зачем это нужно
Отладка — ключевой этап разработки Android-приложений. Без эффективного использования инструментов отладки поиск и исправление ошибок превращаются в хаотичный процесс, отнимающий часы. Это руководство даст вам системное понимание основных инструментов: ADB, Logcat и встроенного отладчика Android Studio. Вы сможете быстро находить причины падений, анализировать поток данных и тестировать код в реальных условиях на устройстве.
Требования / Подготовка
Перед началом убедитесь, что у вас установлено:
- Android Studio (версия Arctic Fox 2020.3.1 или новее) с компонентами Android SDK и Android SDK Platform-Tools.
- Устройство на Android (версии 5.0 и выше) с включенной опцией "Отладка по USB" (находится в Настройки → Параметры разработчика).
- USB-кабель (желательно качественный, поддерживающий передачу данных).
- Для Windows: установленные драйверы USB для вашего устройства. Для Linux: настроенные udev-правила.
- Базовые знания работы с терминалом/командной строкой.
Шаг 1: Включите отладку по USB на устройстве
На самом устройстве необходимо активировать режим разработчика и разрешить отладку.
- Перейдите в Настройки → Об устройстве.
- Найдите пункт "Номер сборки" и нажмите на него 7 раз. Появится уведомление "Вы стали разработчиком!".
- Вернитесь в главное меню настроек и найдите новый раздел "Параметры разработчика" (или "Для разработчиков").
- Внутри включите переключатель "Отладка по USB".
⚠️ Важно: При первом подключении устройства к компьютеру на экране появится диалоговое окно с запросом "Разрешить отладку по USB?". Обязательно поставьте галочку "Всегда разрешать с этого компьютера" и нажмите "OK".
Шаг 2: Подготовьте компьютер: установите драйверы/правила
Без правильных драйверов компьютер не увидит устройство.
Для Windows:
- Скачайте драйверы:
- Универсальные: Google USB Driver (через менеджер SDK Android Studio).
- Производительские: Драйверы с сайта Samsung (Kies), Xiaomi (Mi PC Suite), Huawei и т.д.
- Установите драйвер через Диспетчер устройств (Win + R →
devmgmt.msc). - Найдите неизвестное устройство (обычно с желтым восклицательным знаком) в разделе "Другие устройства" или "Android Device".
- Щелкните правой кнопкой → "Обновить драйвер" → "Выполнить поиск драйверов на этом компьютере" → укажите папку с распакованным драйвером.
Для Linux (Ubuntu/Debian):
- Создайте файл правил:
sudo gedit /etc/udev/rules.d/51-android.rules - Вставьте правила для вашего производителя. Например, для общих устройств Google:
Полный список vendor ID: https://developer.android.com/studio/run/linux-usbSUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" - Установите права и перезагрузите udev:
sudo chmod a+r /etc/udev/rules.d/51-android.rules sudo udevadm control --reload-rules sudo udevadm trigger
Шаг 3: Проверьте подключение устройства через ADB
Теперь нужно убедиться, что связь установлена.
- Откройте терминал (Linux/macOS) или Command Prompt/PowerShell (Windows).
- Перейдите в папку с платформ-тулз (обычно
~/Library/Android/sdk/platform-tools/на macOS илиC:\Users\<User>\AppData\Local\Android\Sdk\platform-tools\на Windows) или добавьте её в PATH. - Выполните команду:
adb devices - Ожидаемый вывод:
Если вместоList of devices attached 0123456789ABCDEF devicedeviceстоитunauthorized, проверьте диалог на устройстве. Если устройство не отображается — вернитесь к шагу 2.
Шаг 4: Настройте проект в Android Studio
- Откройте ваш проект в Android Studio.
- Убедитесь, что в файле
build.gradle(уровня модуля) указана актуальная версия compileSdk и minSdk. - На панели инструментов вверху справа найдите выпадающий список "Select Deployment Target".
- В открывшемся окне ваше устройство должно отобразиться в разделе "Connected Devices". Выберите его и нажмите "OK".
- Для отладки нажмите кнопку "Debug" (иконка жука). Приложение установится и запустится в режиме отладки.
Шаг 5: Используйте Logcat для анализа логов
Logcat — ваш главный источник информации о том, что происходит в системе и приложении.
- В Android Studio откройте View → Tool Windows → Logcat.
- В верхней части окна Logcat выберите:
- Устройство: ваше подключенное устройство.
- Процесс: процесс вашего приложения (обычно
com.example.yourapp). Можно выбрать<your_package_name>илиNo Filtersдля всех. - Уровень логирования: установите
DebugилиVerboseдля максимальной детализации,Errorдля только ошибок.
- Чтобы быстро найти логи вашего приложения, используйте фильтр:
- По тегу (Tag): введите
tag:MyAppTag(если в коде вы используете конкретный тег). - По пакету: введите
package:com.example.yourapp.
- По тегу (Tag): введите
- Ищите строки с
E/(Error),W/(Warn) илиAndroidRuntime(для необработанных исключений). Нажмите на строку с ошибкой — Android Studio перейдет в соответствующую строку кода (если исходники доступны).
Шаг 6: Запустите приложение в режиме отладки
Это основной способ пошагового анализа.
- В редакторе кода установите точки останова (breakpoints): кликните на сером поле слева от номера строки, где хотите остановить выполнение (появится красный кружок).
- Нажмите кнопку "Debug" (жучок) на панели инструментов.
- Приложение запустится на устройстве. Как только выполнение дойдет до точки останова, оно приостановится.
- На нижней панели появится окно отладчика:
- Frames: стек вызовов.
- Variables: текущие значения переменных в контексте.
- Watches: добавьте выражение для отслеживания.
- Используйте кнопки управления выполнением:
- Resume (F9): продолжить до следующей точки останова.
- Step Over (F8): выполнить текущую строку и перейти к следующей.
- Step Into (F7): войти в метод, вызванный на текущей строке.
- Step Out (Shift+F8): выйти из текущего метода.
- Вы можете изменять значения переменных прямо в отладчике для тестирования разных сценариев.
Проверка результата
После выполнения шагов вы должны:
- Видеть свое устройство в списке
adb devices. - Успешно запускать приложение на устройстве из Android Studio.
- Видеть логи своего приложения в Logcat, отфильтрованные по пакету.
- При постановке точек останова — приостанавливать выполнение кода и изучать состояние переменных.
Если все пункты выполняются — среда отладки настроена корректно.
Возможные проблемы
Проблема: Устройство не отображается в adb devices или в Android Studio.
Решение:
- Переподключите USB-кабель, попробуйте другой порт.
- На устройстве откройте Настройки → Параметры разработчика и выключите/включите "Отладка по USB".
- Перезагрузите
adbсервер:adb kill-server adb start-server adb devices - Для Windows: проверьте в Диспетчере устройств, что устройство определяется как "Android Composite ADB Interface" без ошибок. Обновите драйвер вручную.
Проблема: В Logcat нет логов моего приложения.
Решение:
- Убедитесь, что в коде вы используете
Log.d(tag, message)или аналоги, а неSystem.out.println. - Проверьте фильтр Logcat: установите уровень на
DebugилиVerbose, попробуйте сбросить фильтр (No Filters). - Убедитесь, что приложение запущено именно на том устройстве, которое выбрано в Logcat.
- На некоторых устройствах (особенно с MIUI) нужно дополнительно включить "Включить отладку по USB (настройки безопасности)" в Параметрах разработчика.
Проблема: Точки останова игнорируются, приложение не останавливается.
Решение:
- Убедитесь, что вы запустили приложение не через "Run", а через "Debug" (кнопка с жучком).
- Проверьте, что точка останова активирована (красный кружок, а не серый с обводкой). Серый означает, что код не будет загружен (например, точка в неиспользуемом классе).
- Очистите проект (Build → Clean Project) и перезапустите отладку.
- Если приложение уже запущено, остановите его полностью и запустите заново в режиме отладки.