[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/guides/android/debug-app":3,"mdc-h04n7w-key":345,"mdc--tx8dou-key":355,"mdc--otahhj-key":388,"mdc-3uhmh1-key":396,"mdc--2vo8tm-key":404,"mdc--x6z9of-key":421,"mdc-f4tm6m-key":429,"mdc--b6mube-key":437,"related-/errors/android/app-crash-on-start,/guides/android/adb-commands":445},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":282,"code":282,"createdAt":283,"description":284,"difficulty":285,"draft":286,"estimatedTime":287,"extension":288,"faq":289,"howToSteps":302,"howToTotalTime":315,"image":282,"keywords":316,"locale":324,"meta":325,"navigation":152,"path":326,"platform":327,"related":328,"section":331,"seo":332,"severity":282,"stem":333,"summary":334,"tags":335,"twitterCreator":282,"twitterSite":282,"type":343,"updatedAt":283,"__hash__":344},"content_ru/guides/android/debug-app.md","Как отладить Android-приложение: пошаговый гайд для разработчиков",[7,8,9],"Android 8.0+","Android Studio Hedgehog 2023.1.1+","Gradle 8.0+","FixPedia Team",{"type":12,"value":13,"toc":271},"minimark",[14,19,23,27,30,46,49,53,56,79,86,90,93,97,100,108,111,114,118,121,125,128,204,207,211,214,228,232,267],[15,16,18],"h2",{"id":17},"введение-зачем-это-нужно","Введение / Зачем это нужно",[20,21,22],"p",{},"Отладка — ключевой этап разработки Android-приложений. Она помогает находить скрытые ошибки, проверять бизнес-логику и улучшать стабильность перед релизом. В этом гайде вы научитесь запускать и контролировать процесс дебага с помощью Android Studio, Logcat и ADB, чтобы быстрее локализовать проблемы и сократить время на исправление.",[15,24,26],{"id":25},"требования-подготовка","Требования / Подготовка",[20,28,29],{},"Перед началом убедитесь, что:",[31,32,33,37,40,43],"ul",{},[34,35,36],"li",{},"Установлена актуальная версия Android Studio (Hedgehog 2023.1.1 или новее).",[34,38,39],{},"Проект собирается в debug-режиме (по умолчанию для запуска из IDE).",[34,41,42],{},"Устройство или эмулятор доступно и видится в системе. Для реального устройства потребуется включить параметры разработчика и отладку по USB.",[34,44,45],{},"ADB установлен и добавлен в PATH (идёт в комплекте с Android SDK).",[20,47,48],{},"Пошаговая инструкция",[15,50,52],{"id":51},"шаг-1-настройка-устройства-и-подключение","Шаг 1: Настройка устройства и подключение",[20,54,55],{},"Включите отладку по USB на устройстве: перейдите в Настройки → О телефоне → 7 раз тапните по Номер сборки, затем вернитесь в Настройки → Система → Параметры разработчика и включите Отладка по USB. Подключите устройство к компьютеру и выполните:",[57,58,63],"pre",{"className":59,"code":60,"language":61,"meta":62,"style":62},"language-bash shiki shiki-themes github-light github-dark","adb devices\n","bash","",[64,65,66],"code",{"__ignoreMap":62},[67,68,71,75],"span",{"class":69,"line":70},"line",1,[67,72,74],{"class":73},"sScJk","adb",[67,76,78],{"class":77},"sZZnC"," devices\n",[20,80,81,82,85],{},"Убедитесь, что ваше устройство отображается со статусом ",[64,83,84],{},"device",". Если его нет, проверьте кабель, разрешение на компьютере и повторно авторизуйте отладку.",[15,87,89],{"id":88},"шаг-2-запуск-сессии-дебага-в-android-studio","Шаг 2: Запуск сессии дебага в Android Studio",[20,91,92],{},"Откройте проект в Android Studio, выберите debug-вариант сборки в конфигурации запуска и нажмите Debug (значок жука). При первом запуске на устройстве может появиться запрос на разрешение отладки — подтвердите его. Android Studio скомпилирует проект, установит APK и запустит приложение с подключенным отладчиком.",[15,94,96],{"id":95},"шаг-3-работа-с-точками-останова-и-logcat","Шаг 3: Работа с точками останова и Logcat",[20,98,99],{},"Установите точки останова (breakpoints) в местах, где предполагается ошибка или сложная логика. Запустите приложение до их срабатывания. Откройте вкладку Logcat и фильтруйте сообщения по имени пакета или уровню важности, например:",[57,101,106],{"className":102,"code":104,"language":105},[103],"language-text","package:com.example.myapp level:error\n","text",[64,107,104],{"__ignoreMap":62},[20,109,110],{},"При остановке на breakpoint используйте Debugger UI для пошагового выполнения (Step Over, Step Into), просмотра стека вызовов и значений переменных. Это позволяет понять, где именно ломается поток.",[112,113],"in-article-ad",{},[15,115,117],{"id":116},"шаг-4-инспекция-переменных-и-анализ-производительности","Шаг 4: Инспекция переменных и анализ производительности",[20,119,120],{},"Когда сессия дебага активна, используйте панель Variables для проверки состояния объектов и выражений. При необходимости изменяйте значения переменных в памяти для тестирования сценариев без перезапуска. Для сетевых проблем откройте Profiler и посмотрите вкладку Network: это поможет выявить долгие запросы, утечки соединений или некорректные заголовки.",[15,122,124],{"id":123},"шаг-5-использование-adb-для-расширенной-диагностики","Шаг 5: Использование ADB для расширенной диагностики",[20,126,127],{},"Даже без Android Studio можно собирать информацию. Основные команды:",[57,129,131],{"className":59,"code":130,"language":61,"meta":62,"style":62},"# Просмотр логов в реальном времени\nadb logcat\n\n# Фильтрация по тегу и уровню\nadb logcat MyTag:E *:S\n\n# Сбор полного отчёта об ошибках\nadb bugreport > bugreport.zip\n",[64,132,133,139,147,154,160,178,183,189],{"__ignoreMap":62},[67,134,135],{"class":69,"line":70},[67,136,138],{"class":137},"sJ8bj","# Просмотр логов в реальном времени\n",[67,140,142,144],{"class":69,"line":141},2,[67,143,74],{"class":73},[67,145,146],{"class":77}," logcat\n",[67,148,150],{"class":69,"line":149},3,[67,151,153],{"emptyLinePlaceholder":152},true,"\n",[67,155,157],{"class":69,"line":156},4,[67,158,159],{"class":137},"# Фильтрация по тегу и уровню\n",[67,161,163,165,168,171,175],{"class":69,"line":162},5,[67,164,74],{"class":73},[67,166,167],{"class":77}," logcat",[67,169,170],{"class":77}," MyTag:E",[67,172,174],{"class":173},"sj4cs"," *",[67,176,177],{"class":77},":S\n",[67,179,181],{"class":69,"line":180},6,[67,182,153],{"emptyLinePlaceholder":152},[67,184,186],{"class":69,"line":185},7,[67,187,188],{"class":137},"# Сбор полного отчёта об ошибках\n",[67,190,192,194,197,201],{"class":69,"line":191},8,[67,193,74],{"class":73},[67,195,196],{"class":77}," bugreport",[67,198,200],{"class":199},"szBVR"," >",[67,202,203],{"class":77}," bugreport.zip\n",[20,205,206],{},"Эти данные полезны для анализа ANR, частых падений и системных сбоев, которые не всегда видны в IDE.",[15,208,210],{"id":209},"проверка-результата","Проверка результата",[20,212,213],{},"После исправления проблем убедитесь, что:",[31,215,216,219,222,225],{},[34,217,218],{},"Приложение запускается и работает без падений на всех целевых устройствах.",[34,220,221],{},"В Logcat не остаётся необработанных исключений (FATAL EXCEPTION) для вашего пакета.",[34,223,224],{},"Точки останова срабатывают корректно, а значения переменных соответствуют ожидаемым.",[34,226,227],{},"Сетевые запросы выполняются в разумное время и возвращают корректные коды ответов.",[15,229,231],{"id":230},"возможные-проблемы","Возможные проблемы",[31,233,234,241,247,253],{},[34,235,236,240],{},[237,238,239],"strong",{},"Точки останова не срабатывают"," — проверьте, что сборка debug, а не release, и что устройство не использует оптимизации вроде Instant Run, которые могут смещать код.",[34,242,243,246],{},[237,244,245],{},"Logcat перегружен системными сообщениями"," — создайте сохранённый фильтр в Android Studio по имени пакета и уровню Error/Warn.",[34,248,249,252],{},[237,250,251],{},"Разрывы отладки на старых устройствах"," — используйте качественный кабель, отключите энергосбережение USB и в Android Studio включите опцию отключения экрана блокировки во время отладки.",[34,254,255,258,259,262,263,266],{},[237,256,257],{},"ADB не видит устройство"," — перезапустите сервер командами ",[64,260,261],{},"adb kill-server"," и ",[64,264,265],{},"adb start-server",", повторно авторизуйте отладку на устройстве и проверьте, нет ли конфликтов с другими программами, использующими порт 5037.",[268,269,270],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":62,"searchDepth":141,"depth":141,"links":272},[273,274,275,276,277,278,279,280,281],{"id":17,"depth":141,"text":18},{"id":25,"depth":141,"text":26},{"id":51,"depth":141,"text":52},{"id":88,"depth":141,"text":89},{"id":95,"depth":141,"text":96},{"id":116,"depth":141,"text":117},{"id":123,"depth":141,"text":124},{"id":209,"depth":141,"text":210},{"id":230,"depth":141,"text":231},null,"2026-04-27 11:33:09","Пошаговая инструкция по отладке Android-приложений с ADB и Android Studio. Проверенные решения для поиска ошибок и оптимизации кода за 15-20 минут.","medium",false,"15-20 мин","md",[290,293,296,299],{"question":291,"answer":292},"Почему точки останова не срабатывают при дебаге?","Убедитесь, что сборка — debug, а не release, и на устройстве включена отладка по USB. Иногда помогает перезапуск ADB и повторное подключение.",{"question":294,"answer":295},"Можно ли отлаживать приложение на реальном устройстве без Android Studio?","Да, через ADB: пересылайте логи командой `adb logcat`, подключайте консоль через `adb shell` и используйте `adb bugreport` для сбора диагностики.",{"question":297,"answer":298},"Что делать, если Logcat перегружен системными сообщениями?","Фильтруйте по имени пакета, уровню (Error/Warn) или тегу. В Android Studio создайте сохранённый фильтр, чтобы видеть только нужные события.",{"question":300,"answer":301},"Как избежать разрывов отладки на старых устройствах?","Используйте качественный кабель, отключите энергосбережение USB в настройках устройства и включите в Android Studio опцию отключения экрана блокировки во время отладки.",[303,306,309,312],{"name":304,"text":305},"Настройка среды и устройства","Включите отладку по USB в параметрах разработчика, подключите устройство и проверьте видимость через `adb devices`.",{"name":307,"text":308},"Запуск сессии дебага","Выберите конфигурацию запуска с debug-вариантом сборки и нажмите Debug в Android Studio.",{"name":310,"text":311},"Использование Logcat и точек останова","Установите breakpoints в коде, следите за логами в Logcat и анализируйте стек вызовов при исключениях.",{"name":313,"text":314},"Инспекция переменных и сетевого трафика","Используйте Debugger UI для просмотра переменных и профайлер для анализа сети и потребления ресурсов.","PT20M",[317,318,319,320,321,322,323],"отладка android приложения","android studio debug app","adb logcat ошибки","как запустить дебаг на андроид","поиск багов в андроид приложении","android debug bridge настройка","breakpoint не срабатывает андроид","ru_RU",{},"/guides/android/debug-app","android",[329,330],"/errors/android/app-crash-on-start","/guides/android/adb-commands","Гайды Android",{"title":5,"description":284},"guides/android/debug-app","Гайд поможет настроить среду, запустить отладку и находить ошибки в Android-приложениях с помощью Android Studio, Logcat и ADB. Вы получите чёткий план действий и проверки.",[336,337,338,339,340,341,342],"Android","Debug","ADB","Logcat","Android Studio","mobile dev","troubleshooting","guide","7B-fXrpAjDS2jwmcBVXRXggyiubZ2K42GgtTS5aSHl0",{"data":346,"body":347},{},{"type":348,"children":349},"root",[350],{"type":351,"tag":20,"props":352,"children":353},"element",{},[354],{"type":105,"value":292},{"data":356,"body":357},{},{"type":348,"children":358},[359],{"type":351,"tag":20,"props":360,"children":361},{},[362,364,370,372,378,380,386],{"type":105,"value":363},"Да, через ADB: пересылайте логи командой ",{"type":351,"tag":64,"props":365,"children":367},{"className":366},[],[368],{"type":105,"value":369},"adb logcat",{"type":105,"value":371},", подключайте консоль через ",{"type":351,"tag":64,"props":373,"children":375},{"className":374},[],[376],{"type":105,"value":377},"adb shell",{"type":105,"value":379}," и используйте ",{"type":351,"tag":64,"props":381,"children":383},{"className":382},[],[384],{"type":105,"value":385},"adb bugreport",{"type":105,"value":387}," для сбора диагностики.",{"data":389,"body":390},{},{"type":348,"children":391},[392],{"type":351,"tag":20,"props":393,"children":394},{},[395],{"type":105,"value":298},{"data":397,"body":398},{},{"type":348,"children":399},[400],{"type":351,"tag":20,"props":401,"children":402},{},[403],{"type":105,"value":301},{"data":405,"body":406},{},{"type":348,"children":407},[408],{"type":351,"tag":20,"props":409,"children":410},{},[411,413,419],{"type":105,"value":412},"Включите отладку по USB в параметрах разработчика, подключите устройство и проверьте видимость через ",{"type":351,"tag":64,"props":414,"children":416},{"className":415},[],[417],{"type":105,"value":418},"adb devices",{"type":105,"value":420},".",{"data":422,"body":423},{},{"type":348,"children":424},[425],{"type":351,"tag":20,"props":426,"children":427},{},[428],{"type":105,"value":308},{"data":430,"body":431},{},{"type":348,"children":432},[433],{"type":351,"tag":20,"props":434,"children":435},{},[436],{"type":105,"value":311},{"data":438,"body":439},{},{"type":348,"children":440},[441],{"type":351,"tag":20,"props":442,"children":443},{},[444],{"type":105,"value":314},[]]