App Inspection не отображает базу данных или показывает пустую вкладку Database Inspector — одна из самых частых ситуаций, с которой сталкиваются разработчики при отладке Android-приложений в Android Studio. Причина обычно кроется не в самом инструменте, а в том, что приложение запущено на несовместимом устройстве, собрано без отладочной информации или процесс просто не выбран в выпадающем списке.
Инструмент App Inspection (инспекция приложения) входит в состав Android Studio и позволяет в реальном времени заглянуть внутрь работающего приложения: просмотреть содержимое SQLite-базы, файлы настроек, очередь фоновых задач и сетевую активность. Разберём, как его запустить, какие вкладки доступны и что делать при типичных ошибках.
Что такое App Inspection и зачем он нужен
App Inspection — это встроенная панель Android Studio, которая подключается к запущенному процессу приложения и показывает его внутреннее состояние без необходимости вручную вытаскивать файлы через ADB. Раньше для просмотра базы данных приходилось копировать файл .db на компьютер и открывать сторонними утилитами — теперь это делается прямо в IDE.
Панель объединяет несколько отдельных инспекторов, каждый из которых отвечает за свою область:
- 🗄️ Database Inspector — просмотр и редактирование таблиц SQLite, выполнение SQL-запросов;
- ⚙️ Background Task Inspector — мониторинг задач WorkManager, JobScheduler, AlarmManager;
- 🌐 Network Inspector — анализ сетевых запросов и ответов;
- 📁 File Explorer — доступ к файловой системе приложения (для отладочных сборок).
Открывается панель через меню View → Tool Windows → App Inspection. После запуска приложения на устройстве или эмуляторе в верхней части панели выбирается процесс — и инспекторы начинают показывать данные.
Требования и совместимость
Для работы инструмента необходимо соблюдение нескольких условий. Во-первых, приложение должно быть собрано в debug-варианте либо с включённым флагом debuggable — релизные сборки из Play Store инспектировать нельзя. Во-вторых, устройство должно работать на достаточно свежей версии Android: часть инспекторов требует API 26 и выше, а отдельные функции зависят от версии самой Android Studio.
Также важно, чтобы использовались актуальные версии библиотек. Например, Background Task Inspector корректно отображает задачи WorkManager только начиная с определённых версий библиотеки — если задачи не видны, первым делом проверьте зависимости в build.gradle.
| Компонент | Требование | Что проверить |
|---|---|---|
| Тип сборки | Debug или debuggable | Build Variant в Android Studio |
| Устройство | Эмулятор или физическое с отладкой | Включённая отладка по USB |
| Database Inspector | SQLite / Room | База создана и открыта приложением |
| Background Task Inspector | Актуальная версия WorkManager | Зависимости в build.gradle |
| Процесс | Выбран вручную в панели | Выпадающий список процессов |
⚠️ Внимание: App Inspection не работает с release-сборками, подписанными для публикации. Если панель пустая, первым делом убедитесь, что активный Build Variant — debug, а приложение на устройстве установлено именно из этой конфигурации.
Как запустить App Inspection: пошаговая инструкция
Порядок действий одинаков для эмулятора и физического устройства. Сначала подключите устройство с включённой отладкой по USB или запустите эмулятор, затем установите и запустите приложение через кнопку Run.
Далее откройте панель и выберите процесс. Именно на этом шаге чаще всего возникают проблемы: если процесс не выбран, все вкладки будут пустыми, хотя сам инструмент работает исправно.
☑️ Запуск App Inspection
После выбора процесса данные подгружаются автоматически. Если база данных ещё не создана (например, пользователь не дошёл до нужного экрана), выполните в приложении действие, которое её инициализирует, — и таблицы появятся в Database Inspector.
Работа с Database Inspector
Database Inspector — самая востребованная часть панели. Он показывает все базы SQLite приложения, список таблиц и их содержимое в табличном виде. Поддерживаются как «чистый» SQLite, так и базы, созданные через Room.
Данные обновляются в реальном времени: если приложение вставляет запись, она тут же появляется в инспекторе. Для read-only режима это работает всегда; чтобы редактировать ячейки прямо в таблице и видеть изменения в приложении, потребуется устройство с API 26+ и активная live-синхронизация.
В верхней части вкладки есть поле для выполнения произвольных SQL-запросов. Например, проверить содержимое таблицы можно так:
SELECT * FROM users ORDER BY id DESC LIMIT 20;
Результат запроса отображается отдельной таблицей, и его можно обновлять кнопкой повторного выполнения. Это удобно для проверки сложных выборок с JOIN без изменения кода приложения.
Background Task и Network Inspector
Background Task Inspector показывает очередь фоновых задач: задачи WorkManager, будильники AlarmManager и джобы JobScheduler. Для каждой задачи видны её состояние (enqueued, running, succeeded, failed), ограничения (сеть, заряд батареи) и цепочки зависимостей. Это незаменимо при отладке периодической синхронизации, когда задача «молча» не выполняется.
Network Inspector фиксирует исходящие запросы приложения: URL, метод, код ответа, заголовки и тело. По сравнению с внешними прокси вроде Charles, он не требует настройки сертификатов, но и возможности у него скромнее — для глубокого анализа HTTPS-трафика сторонние инструменты всё ещё актуальны.
- 🔍 Проверяйте в Network Inspector, уходит ли запрос вообще — часто проблема на стороне клиента, а не сервера;
- ⏱️ В Background Task Inspector смотрите поле состояния: задача в статусе
enqueuedс ограничением по сети не запустится без подключения; - 🧩 Для цепочек WorkManager раскрывайте граф зависимостей, чтобы найти задачу, которая блокирует остальные.
Почему задача WorkManager не видна в инспекторе
Наиболее вероятная причина — устаревшая версия библиотеки WorkManager в зависимостях проекта. Инспектор получает данные через механизм, встроенный в саму библиотеку, поэтому старые версии просто не передают информацию в Android Studio. Обновите зависимость androidx.work до актуальной стабильной версии, пересоберите приложение и перезапустите процесс.
Типичные проблемы и их решения
Самая частая жалоба — панель App Inspection показывает «No debuggable processes» или пустой список. Возможные причины: приложение установлено из release-сборки, процесс завершился системой из-за нехватки памяти, либо подключение к устройству оборвалось. Проверьте Build Variant, перезапустите приложение и при необходимости выполните adb reconnect.
Вторая по частоте ситуация — Database Inspector открыт, но таблиц нет. Здесь вариантов два: база ещё не создана (пройдите в приложении сценарий, который её инициализирует) или база открыта в эксклюзивном режиме другим соединением. Закрытие и повторное открытие приложения обычно помогает.
⚠️ Внимание: изменения, внесённые через Database Inspector вручную, записываются в реальную базу на устройстве. Перед редактированием данных на тестовом стенде убедитесь, что не испортите состояние, нужное для воспроизведения бага.
Если инспектор «завис» и перестал обновлять данные, помогает перезапуск соединения: закройте панель, остановите процесс приложения и запустите его заново. Полная перезагрузка Android Studio требуется редко — обычно достаточно переподключения процесса.
FAQ: частые вопросы об App Inspection
Можно ли инспектировать приложение, установленное из Google Play?
Нет. App Inspection работает только с отладочными сборками или приложениями, у которых в манифесте включён флаг android:debuggable="true". Публичные релизные сборки такого флага не содержат.
Почему Database Inspector не показывает изменения в реальном времени?
Live-обновления требуют устройства с API 26 и выше. На более старых версиях Android данные доступны только в режиме чтения с ручным обновлением. Также проверьте, что приложение не держит базу в эксклюзивной блокировке.
Работает ли App Inspection на физическом устройстве без root?
Да, root не нужен. Достаточно включить отладку по USB в настройках разработчика и подключить устройство к компьютеру. Инспектор получает данные через стандартный отладочный механизм Android.
Чем App Inspection отличается от Layout Inspector?
Layout Inspector анализирует иерархию View и внешний вид экрана, а App Inspection работает с данными: базой, файлами, сетью и фоновыми задачами. Это взаимодополняющие инструменты, и их можно держать открытыми одновременно.
Можно ли выполнять INSERT и UPDATE через Database Inspector?
Да, на поддерживаемых устройствах можно редактировать ячейки прямо в таблице и выполнять изменяющие SQL-запросы через поле запроса. Учтите, что изменения применяются к реальной базе приложения и отменить их нельзя.