1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | migrate-xml-views-to-jetpack-compose-android-skills |
| 项目自述名称 | migrate-xml-views-to-jetpack-compose(SKILL.md frontmatter name 字段) |
| 作者/维护者 | Google LLC(Android 官方团队) |
| 来源链接 | https://github.com/android/skills/tree/main/jetpack-compose/migration/migrate-xml-views-to-jetpack-compose |
| 许可证 | Apache License 2.0(GitHub API 确认) |
| GitHub Stars / Forks | 6,217 / 352(GitHub API;为 android/skills 整个合集仓库的数据,不代表本条子技能单独热度,本技能自身活跃度见下方“最新版本”一行) |
| 最新版本 | 仓库标签 v1.0.5;本技能文件最近提交于 2026-07-06(GitHub API,commits 按路径过滤确认) |
| 安装方式 | Android CLI 一条命令,或手动复制到对应 Agent 的 skills 目录(详见第 10 章) |
2. 功能介绍与亮点
这是 Google Android 官方团队发布的结构化技能,指导 Agent 把一个遗留的 XML View 安全迁移为 Jetpack Compose 组件。核心是一套 10 步方法论:识别迁移候选 → 分析项目与布局 → 制定计划 → 截取原始 UI 截图作基线 → 配置 Compose 依赖与编译器 → 配置主题 → 迁移布局代码(要求生成 Compose Preview)→ 替换调用方 → 用截图比对做视觉一致性校验 → 清理旧 XML 代码。
亮点:
- 官方出品:作者为 Google LLC,是 2026 年 4 月 Android Developers Blog 公开宣布的
android/skills系列之一,而非第三方逆向工程整理。 - 强调“保真迁移”:每一步都有配套参考文档(
references/下 4 份细化文档),并要求用截图比对做视觉一致性验证,而不是“迁移完就算数”。 - 保守的清理策略:最后一步删除旧 XML 前明确提示“只删除确认无其他引用的代码”,降低误删风险。
- 持续维护:技能文件最近一次实质性提交在 2026-07-06,配套仓库整体在 2026-07-14 仍有推送。
3. 适用场景
固定分类:工程效率与代码质量。
适用于任何维护 Android 原生项目、且仍有历史 XML 布局需要向 Jetpack Compose 迁移的团队。典型受益人群:负责渐进式技术栈现代化的 Android 工程师、需要在不影响线上功能的前提下批量清理遗留 View 代码的团队、希望用 Agent 辅助完成大规模机械性迁移工作以节省人力的技术负责人。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持。Google 官方博客明确点名 “third-party agents like Claude Code” 为支持对象;技能本身就是标准 SKILL.md + YAML frontmatter 格式,与 Claude Code 的技能规范一致,可直接放入
.claude/skills/使用。 - Codex:✅ 原生支持。同一篇官方博客同时点名 Codex 为支持的第三方 Agent。
- OpenClaw:❓ 未验证。已抓取的官方文档与博客均未提及该 Agent,未做无依据推测。
- Hermes Agent:❓ 未验证。同上,抓取材料中无相关信息。
5. 推荐理由
它是 Google 官方针对“Agent 在 Android 遗留代码迁移任务上表现欠佳”这一具体痛点给出的解决方案:把一个容易被 Agent 做得潦草(改完不测、删错文件)的高风险重构任务,拆解成可核查的 10 个步骤,并显式要求视觉回归验证。对使用 Claude Code / Codex 维护 Android 项目的用户来说,这是少见的“大厂官方为特定技术栈品质保证撰写”的技能,而非社区爱好者的经验总结。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 9 | 官方一线机构(Google Android 团队)出品,2026-04 由 Android Developers Blog 公开发布;仓库 6,217 stars(属整个合集,非单条技能专属,已在第 1 章注明) |
| 可用性 | 8 | Android CLI 一条命令可装;对 Claude Code / Codex 需手动复制技能目录,非官方一键分发;文档含分步参考资料,2026-07-06 仍有实质更新 |
| 安全性 | 9 | 详见下方安全检查清单 |
| 综合 | 8.7 | 三项均值,高于 7.0 门槛,安全分不触发一票否决 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令及权限范围 | 涉及 Gradle 同步、创建/运行截图测试、最终删除已迁移的 XML 文件;均限定在当前项目目录内,且删除前要求确认无其他引用 |
| ② 运行时联网外发 | 无。仅涉及标准 Gradle 依赖解析,不涉及数据外发 |
| ③ API Key / 凭据 | 不需要 |
| ④ SKILL.md 与脚本可疑指令 | 已通读 SKILL.md 全文及 references/ 目录清单,内容均为技术文档,未发现要求执行越权操作或外发数据的可疑指令 |
| ⑤ 作者/组织信誉 | Google LLC,Android 官方团队,信誉良好 |
| ⑥ License | Apache License 2.0,明确 |
| ⑦ 最近维护时间 | 技能文件 2026-07-06 有提交,仓库整体 2026-07-14 仍有推送,非弃置项目 |
7. 跟同类 Skills 相比的优势
android/skills 合集仓库中的其他官方子技能,以及一个独立社区项目,与本技能的定位差异:
| 名称 | 来源 | 定位 | 与本技能的差异 |
|---|---|---|---|
| migrate-xml-views-to-jetpack-compose(本推荐) | android/skills | XML→Compose 全流程迁移,含视觉回归验证 | — |
| r8-analyzer | android/skills | 分析 R8/Proguard keep 规则,优化包体积 | 面向包体积优化,不涉及 UI 迁移 |
| testing-setup | android/skills | 搭建单元/UI/截图/端到端测试基础设施 | 面向测试基建搭建,是迁移的配套前置能力 |
| navigation-3 | android/skills | 迁移与实现 Jetpack Navigation 3 | 面向导航组件,不覆盖 View 层迁移 |
| android-intent-security | android/skills | Android Intent 安全审计最佳实践 | 面向安全审计,与 UI 重构无交集 |
| python-refactoring-skills | 独立开发者(l-mb),44 stars | Python 代码重构技能集,非 Android 专属 | 面向通用 Python 重构,不含 Android/Compose 知识 |
差异化总结:同属 android/skills 的其他子技能覆盖测试、性能、导航、安全等不同环节,但都是“单点能力”;本技能覆盖的是风险最高、最容易被 Agent 做砸的“大规模遗留 UI 迁移”场景,且是仓库中唯一强制要求视觉回归验证的技能,方法论最完整。独立社区项目 python-refactoring-skills 面向通用 Python 重构,非 Android 专属,且维护热度(44 stars,近期无提交)明显低于官方技能。
8. 用户评价
Google Developer Expert(Android 方向)Sagar Das 在 Medium 撰文评价 Android Agent Skills 系列,称其为“a promising step toward AI that actually understands how Android apps should be built”,认为它解决了“AI 生成代码质量高但不总遵循既有规范”的真实痛点。该评价针对 Android Skills 整体系列,未专门点评本迁移技能。公开渠道目前尚无专门针对本迁移技能的具名用户评价。
9. 其他补充
无。
10. 安装使用方式
方式一:Android CLI(官方推荐,一条命令)
android skills add --skill=migrate-xml-views-to-jetpack-compose --project=.
需先安装 Android CLI;--agent 参数可指定目标 Agent(README 明确支持按 Agent 定向安装,未列出全部具体取值,以官方文档为准)。
方式二:手动安装(适用于 Claude Code / Codex)
git clone https://github.com/android/skills.git
cp -r skills/jetpack-compose/migration/migrate-xml-views-to-jetpack-compose \
<你的项目>/.claude/skills/migrate-xml-views-to-jetpack-compose
复制时需保留 SKILL.md 与 references/ 目录的相对结构。安装后无需重启,Agent 会在识别到“迁移 XML View 到 Compose”类任务时自动触发;也可按各 Agent 自身语法手动调用。
11. 注意事项
- 仅处理单个 XML View 到 Compose 的迁移,不做整体主题体系迁移,也不覆盖多文件批量迁移的编排。
- 第 4 步(截图基线)与第 9 步(视觉校验)依赖能运行 Android emulator 或截图测试框架的环境;不具备该能力的 Agent 会跳过基线截图,回归验证的可靠性随之下降。
- 最后一步会删除原 XML 文件,虽有“确认无其他引用”的提示,仍建议在版本控制下操作并人工复核 diff。
- OpenClaw、Hermes Agent 的兼容性未经验证,使用前建议先在小范围试点。