Android 日常迭代里最磨人的往往不是写代码,而是等构建。改一行逻辑、调一个布局,标准流程要走一遍 Gradle 配置、任务编排、打包安装,工程越大越慢,几十秒到几分钟都常见。Jugg 要解决的就是这段等待:把「改代码 → 看到效果」压缩到秒级。
它是腾讯音乐工程团队开源的 Android Studio 插件,自 2021 年起开发,2023 年起在内部使用,先后跑在全民 K 歌、QQ 音乐、JOOX、酷狗音乐、QQ 浏览器、央视频等大型 Android 工程上,开源前累计完成 80 万次以上的增量编译。
工作原理:留 Gradle 做基线,只编译改动
Jugg 的思路不是替换 Gradle,而是把它当作可信构建结果的来源,日常改动则绕过大部分 Gradle 工作:
- 以最近一次完整的 Gradle 构建作为基线;
- 在源码、资源、依赖和类关系上做变更与影响分析;
- 用 Java、Kotlin、D8 以及自研的增量资源工具链只编译需要编译的部分;
- 通过热重载 / 热修复 / 增量 APK / 重装等策略安全下发,改动一旦超出安全边界就自动回退到 Gradle 并重建基线。
关键在于第 4 步的兜底:并非所有改动都能走旁路(比如复杂的依赖变化),Jugg 会自己判断并及时退回标准构建,而不是硬撑出一份不可信的产物。
核心能力与兼容范围
- 3 秒级增量部署:日常改动跳过重复的 Gradle 配置与任务执行
- JVMTI 热重载:不改进程直接替换代码与资源,不适用时优雅降级为热修复(重启不重装)
- 零侵入共存:不改 Gradle 脚本、不依赖 SDK,Jugg Run Configuration 与原生的 App 配置互不干扰,可随时切换
- 技术栈覆盖广:Kotlin、Java、Jetpack Compose、KMP / Compose Multiplatform、DataBinding、ViewBinding、res / assets、Manifest、native
.so
兼容区间也拉得比较宽:Android Studio 2021(Bumblebee)至今、IntelliJ IDEA 2021.1.3–2025.1 Beta、AGP 3.4–9.1、Gradle 5.4.1–9.2.1、Kotlin 1.3–2.2、Android 8–16。未完全验证的版本可能有小问题,遇到可以去提 issue。
上手方式
在 Android Studio 的 Plugins → Marketplace 里搜索 Jugg 安装,或从 GitHub Releases 下载离线包。打开工程后会自动生成 Jugg Run Configuration,第一次 Run 建立 Gradle 基线,之后改代码再 Run 就是秒级增量。想装 CLI 或 Skill 的话,在 Search Everywhere 里搜索 Install Jugg Skills。
面向 AI Agent 的调试闭环
除了 IDE 插件,Jugg 还提供了内置 MCP server、CLI 和 jugg-android-dev-loop Agent Skill,可以把「编辑 → 编译 → 部署 → 验证」整条链路交给 Agent 自动跑:
jugg status
jugg compile
jugg deploy
对正在把 AI 接入开发流程的团队来说,把构建与部署暴露成命令行,比让 Agent 去驱动 IDE 要稳定得多。
边界与小结
Jugg 的定位很明确:它是日常迭代加速器,不是通用构建系统。走增量路径的前提是改动落在它支持的范围内;一旦超出就会回退 Gradle——这既是安全设计,也意味着首次构建、依赖大改、clean 之后这些场景并不会变快。如果你的痛点主要是「改一行等半天」,它值得一试。
这个项目已经上架本站「项目推荐」,可以在 /project 板块找到;Android 相关的调试与运行环境工具可以到 /tool 和 /download 看看。