Debroid CLI

Консольный отладчик Android на протоколе JDWP: агент ставит точки останова и читает переменные, ответы приходят в JSON

  • 276 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

Почему такой уровень

  • Подключается к работающему приложению через ADB, может менять значения переменных и вычислять выражения в его виртуальной машине
  • Фоновый процесс держит соединение с устройством, пока вы не вызовете debroid stop
Все причины и проверки

patilshreyas/debroid

Установка

Ручная установка

curl -fsSL https://raw.githubusercontent.com/PatilShreyas/debroid/main/install.sh | bash

Скачивает готовый бинарник и кладет его в `~/.local/bin`. Можно собрать из исходников, запустив `./install.sh` в клоне репозитория.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Подключается к работающему приложению через ADB, может менять значения переменных и вычислять выражения в его виртуальной машине
  • Фоновый процесс держит соединение с устройством, пока вы не вызовете debroid stop

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Debroid — консольная программа, которая подключается к запущенному приложению Android через протокол JDWP и ADB. Агент без графического интерфейса ставит точки останова на строках, ловит исключения, следит за полями, шагает по коду и читает локальные переменные и стек вызовов, как человек в Android Studio. Каждая команда печатает валидный JSON. Соединение держит фоновый процесс: он стартует сам при первой команде и сохраняет точки останова и состояние потоков между вызовами. Если класс еще не загружен, точка останова откладывается и срабатывает позже. Команда `set-var` меняет значение переменной на остановленном потоке, `eval` считает выражения в синтаксисе Java прямо в целевой виртуальной машине, а для сопрограмм Kotlin есть извлечение локальных переменных из кадров Continuation. Инструкцию для агента программа сама распаковывает в `~/.debroid/skills/debroid-cli/SKILL.md` при первом запуске. Достаточно сделать на этот файл символьную ссылку в папке скиллов нужного агента, и обновление CLI заодно обновит инструкцию.

Для кого. Для Android-разработчиков на Kotlin и Java, которые поручают Claude Code, Codex или Cursor искать ошибки на работающем приложении.

Подходит, если

  • Агент подозревает ошибку, но по логам не видит значений переменных в момент сбоя
  • Нужно поймать необработанное исключение во всем приложении и прочитать стек вызовов
  • Надо выяснить, кто и когда меняет поле объекта: для этого есть точки наблюдения
  • Гипотезу о причине хочется проверить, подставив другое значение переменной на остановленном потоке
  • Баг воспроизводится внутри сопрограммы Kotlin, и нужны ее локальные переменные

Не подходит, если

  • Нужна отладка iOS или нативного кода: Debroid говорит по JDWP с виртуальной машиной ART и отлаживает Java и Kotlin
  • На машине нет JDK 11 или новее и adb: оба обязательны
  • Нужен визуальный обзор состояния приложения: программа отвечает только в JSON
  • Приложение нельзя запускать с отладкой на устройстве, где вы не хотите менять состояние переменных

Пример запроса к агенту

Запусти приложение через Debroid, поставь точку останова на строку 42 в CartViewModel и покажи локальные переменные, когда она сработает

Ограничения

Нужны Java JDK 11 или новее с переменной `JAVA_HOME` и Android SDK с adb в PATH. Фоновый процесс держит соединение, остановить его можно командой `debroid stop`. В режиме `launch` приложение стартует приостановленным, а при отсоединении программа сама снимает отметку отладочного приложения на устройстве. Отладка идет по Java Debug Wire Protocol, поэтому видны только классы виртуальной машины. Вывод рассчитан на разбор программой, для чтения человеком есть флаг `--pretty`.

Как отключить. Остановите фоновый процесс командой `debroid stop`, удалите бинарник `~/.local/bin/debroid` и символьные ссылки на SKILL.md в папках скиллов агентов.

Частые вопросы

Как поставить Debroid в Claude Code?

Выполните `curl -fsSL https://raw.githubusercontent.com/PatilShreyas/debroid/main/install.sh | bash`. Потом сделайте символьную ссылку на файл `~/.debroid/skills/debroid-cli/SKILL.md` в `~/.claude/skills/debroid/`: готовые команды для Claude Code, Codex, Cursor, OpenCode, Grok Build и Antigravity лежат в README.

Что нужно на машине для Debroid?

Java JDK 11 или новее, Android SDK и настроенный adb в PATH. Приложение должно работать на эмуляторе или устройстве, видимом через ADB.

Как агент читает ответы Debroid?

Каждая команда печатает JSON. Флаг `--pretty` форматирует его для человека, а `--schema` показывает типы вывода, чтобы агент не гадал о полях.

Чем launch отличается от attach?

`debroid launch` запускает приложение приостановленным и сразу подключается, а при отсоединении сам очищает отметку `am set-debug-app`. `debroid attach` подключается к уже работающему приложению.

Что такое отложенные точки останова?

Если класс еще не загружен виртуальной машиной, Debroid запоминает точку и ставит ее, когда класс появится. Список активных и отложенных точек показывает команда `debroid points`.

Обсуждение

Вопросов и отзывов пока нет.

Скилл и CLI для управления Android-телефоном через ADB и vision-модели: агент открывает приложения, ищет, заказывает и проверяет результат

СкиллШирокий доступ26Звезды репозитория

Скиллы и CLI, чтобы Claude Code, Codex и OpenCode управляли Android-телефоном: открывали приложения, нажимали, вводили текст и тестировали сценарии

СкиллШирокий доступ1,8 тыс.Звезды репозитория

Awesome Android Agent Skills

awesome-android-agent-skills

Скиллы по современной разработке под Android для Copilot, Claude, Gemini и Cursor: Kotlin, Jetpack Compose, архитектура, Hilt, Room

СкиллМинимальный доступ993Звезды репозитория
Официальный

Официальные 30 скиллов команды Android: Jetpack Compose, обновление AGP 9, R8, профилирование Perfetto, Navigation 3, CameraX и политики Google Play

СкиллРасширенный доступ10 тыс.Звезды репозитория

Android-эмулятор в Docker с MCP-сервером: агент управляет устройством по adb, открывает приложения и страницы, нажимает кнопки

MCP-серверРасширенный доступ16,1 тыс.Звезды репозитория
Официальный

Плагин команды Flutter для агентов: скиллы по Flutter и Dart, сервер Dart MCP и правило горячей перезагрузки для Claude Code, Cursor и Codex

ПлагинРасширенный доступ3,1 тыс.Звезды репозитория

Коротко о README

README объясняет, зачем агенту консольный отладчик: без него он видит только код и логи. Дальше идут установка, команды для связывания SKILL.md с шестью агентами, схема с фоновым процессом между CLI и приложением и таблица всех команд с флагами.

Бейдж для README

Сообщить о проблеме

Foxx AIDebroid
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.