ByteNoteByteNote
debroid:让 AI 编码代理学会调试 Android 应用的开源无头调试器

字节笔记本

2026年8月27日

debroid:让 AI 编码代理学会调试 Android 应用的开源无头调试器

API中转
¥120

本文介绍 PatilShreyas 开源的 debroid——一个专为 AI coding agent 设计的无头 Android 调试器。它解决的问题很具体:AI 代理写 Android 代码没问题,但调试时是"瞎"的——看不到运行时内存、不会下断点。debroid 把 Android Studio 调试器的全部能力翻译成机器可解析的 JSON 命令行,让 Claude Code、Codex 这类 agent 自主完成运行时调试。

项目简介

debroid(DEBug + AnDROID)用 Kotlin 编写,今年 8 月开源,Apache-2.0 协议。它是一个无头 CLI,直接说 Java 调试线协议(JDWP),相当于在原始终端(agent 最擅长的地方)和 Android 虚拟机之间架了一座翻译桥。

作者对痛点的描述很准:传统 Android 开发环境高度可视化,AI 助手写得了代码,却点不了 Android Studio 的调试面板——不能检查内存、不能暂停执行。debroid 让 agent 能自主完成"假设 bug → 启动应用 → 命中断点行 → 读取设备实时状态 → 验证修复"的完整闭环,把过去只属于人类开发者的运行时感知交给了 agent。

核心特性

  • 断点:任意类任意行下断点;类尚未加载时自动延迟挂载
  • 异常陷阱:全局捕获应用内的已抛出/未捕获异常
  • 观察点:实时监控字段的访问与修改
  • 深度检查:递归检查深层对象内存、局部变量、调用帧,内置循环引用保护
  • 实时变量修改:线程暂停状态下用 set-var 直接改内存里的变量值
  • 实时求值:完整表达式求值器,支持 Java 语法、方法调用和算术,直接在目标 VM 里执行
  • 单步执行:Step Over / Step Into / Step Out / Resume 随意切换
  • 协程感知:能从 Kotlin Continuation 帧里提取浅层局部变量——这对调试协程密集的现代 Android 应用很关键

所有输出都是确定性、严格可解析的 JSON,agent 读了就能行动。

安装指南

前置要求:Java JDK 11+、Android SDK 与 adb 在 PATH 中。

bash
# 一键安装预编译二进制
curl -fsSL https://raw.githubusercontent.com/PatilShreyas/debroid/main/install.sh | bash

或者克隆仓库本地构建:./install.sh。卸载:先 debroid stop 停掉后台会话,再删 ~/.local/bin/debroid

AI Agent 技能接入

debroid 的设计目标就是被 agent 自主操作:CLI 首次运行会把技能说明自动导出到 ~/.debroid/skills/debroid-cli/SKILL.md,为 Claude Code、Codex、Cursor、Antigravity 等建一个软链即可让 agent 常驻学会用法。仓库还提供了更省事的方案——直接把这句话贴给你的 agent:

Read https://raw.githubusercontent.com/PatilShreyas/debroid/main/README.md and install the Debroid CLI and its skill globally for me.

注意事项

  • 项目很新(2026 年 8 月开源),接口可能变动,生产依赖前锁定版本
  • 调试需要应用以可调试模式构建(debuggable)
  • 修改内存变量(set-var)是高风险操作,agent 自动执行时建议在确认环节留人工把关
  • 需要 adb 连接真机或模拟器,纯云端 agent 场景要自己解决设备接入

项目链接

分享: