1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | adaptive-android-skills |
| 项目自述名称 | adaptive(SKILL.md frontmatter name 字段) |
| 作者/维护者 | Google LLC(Android 官方团队) |
| 来源链接 | https://github.com/android/skills/tree/main/jetpack-compose/adaptive |
| 许可证 | Apache License 2.0(GitHub API 确认,仓库级;SKILL.md frontmatter 指向仓库根 LICENSE.txt) |
| GitHub Stars / Forks | 6,789 / 411(GitHub API;为 android/skills 整个合集仓库的数据,不代表本子技能单独热度) |
| 最新版本 | SKILL.md frontmatter last-updated:2026-08-06;该子目录最近一次提交:2026-08-07 |
| 安装方式 | Android CLI 一条命令,或手动复制到对应 Agent 的 skills 目录(详见第 10 章) |
2. 功能介绍与亮点
这是 Google Android 官方团队发布的结构化技能,指导 Agent 把已用 Jetpack Compose 构建的应用 UI 改造为能自动适配手机、平板、可折叠设备、笔记本、桌面、电视、车机与 XR 等不同设备形态的自适应布局。
亮点:
- 五步固定工作流:验证当前 UI(补齐多设备形态的 Screenshot 预览)→ 让导航栏自适应(
NavigationSuiteScaffold替换传统 Scaffold)→ 用 Navigation 3SceneStrategy添加多窗格布局(区分 list-detail 与 supporting pane 两种画面关系)→ 让纵向列表按可用宽度自适应列数(LazyVerticalGrid/Grid)→ 让顶部应用栏在滚动时按需隐藏,每步都给出可直接套用的 Kotlin 代码示例。 - 12 份 references 系统覆盖三套官方 API:FlexBox、Grid、MediaQuery 三套 Compose 自适应 API 各自的入门、容器属性、子项行为文档,合计约 78KB 直接摘自 Android 官方开发者文档。
- 对实验性 API 有明确边界提示:仅 Grid 布局这一项要求 Compose 1.11.0-beta01 以上的实验性 API,SKILL.md 明确要求先征得用户同意再使用,主干工作流(导航栏、多窗格、滚动隐藏)均基于稳定 API。
- 与同合集内技能形成前置依赖链:明确要求项目已用 Compose(否则先跑
migrate-xml-views-to-jetpack-compose)与 Jetpack Navigation 3(否则先跑navigation-3),避免在错误前提下强行应用自适应改造。
3. 适用场景
固定分类:前端与设计。
适用于已使用 Jetpack Compose 构建界面、需要让应用同时良好适配手机、平板、可折叠设备乃至桌面/电视/XR 等多种窗口尺寸与输入方式(触屏、鼠标、键盘)的 Android 前端工程师,尤其适合正在响应 Google 大屏适配政策要求或准备上架桌面/平板应用商店的团队。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持。
android/skills遵循开放的 Agent Skills 标准,技能目录即标准 SKILL.md + YAML frontmatter + references 结构,可直接复制到.claude/skills/使用。 - Codex:✅ 官方确认支持。Android Developers 官方文档与第三方综述(androiddevkit.com)均将 Codex 列入该开放标准兼容的 Agent 名单。
- OpenClaw:⚠️ 未经本技能专门验证。
- Hermes Agent:⚠️ 未经本技能专门验证。
需注意:官方 Android CLI 默认仅为 Gemini 与 Antigravity 自动安装技能,面向 Claude Code / Codex 需手动指定 --agent 参数或手动复制(详见第 10 章)。
5. 推荐理由
大屏与多形态设备(折叠屏、平板、桌面、TV、XR)已成为 Android 生态的既定方向,但把一个只为手机竖屏设计的 Compose 应用改造为真正自适应的 UI,涉及导航模式切换、多窗格布局、列表列数、滚动行为等一整套决策,容易只改一处而遗漏其余。这份官方技能把改造拆成五个有序步骤,每步都锚定具体的 Compose API(NavigationSuiteScaffold、Navigation 3 SceneStrategy、GridCells.Adaptive)与代码示例,并配齐三套自适应 API 的官方参考文档,让 Agent 能按统一标准完成端到端的自适应改造,而不是零散地应付某一个屏幕尺寸问题。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | Google LLC(Android 官方团队)出品;仓库 6,789 stars 属整个 android/skills 合集,不代表本子技能独立热度;本子技能自身可核实的独立第三方证据为第 8 章列出的 1 条 GitHub issue 真实互动,尚未见更广泛的独立讨论 |
| 可用性 | 9 | 一条 CLI 命令或手动复制即用;SKILL.md 按五步给出结构化流程,配 12 份 references(约 78KB 官方文档摘录)覆盖 FlexBox/Grid/MediaQuery 三套 API;该子目录 2026-08-07 有提交,维护活跃;无付费依赖;仅 Grid 相关的一小部分功能依赖实验性 API 且已在文中明确提示 |
| 安全性 | 9 | 详见下方安全检查清单 |
| 综合 | 8.3 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令及权限范围 | 指导执行标准本地构建/测试命令,用于验证 Screenshot 测试与代码改动,均为用户项目自身工具调用,无越权操作 |
| ② 运行时联网外发 | 无,全程为本地 Compose 代码分析与改写,不涉及任何数据外发 |
| ③ API Key / 凭据 | 不需要 |
| ④ SKILL.md 与脚本可疑指令 | 已通读 SKILL.md 全文(265 行)及全部 12 份 references 目录列表,内容均为 Compose 自适应布局官方技术规范转译,未发现越权指令或夹带与任务无关的推广内容 |
| ⑤ 作者/组织信誉 | Google LLC,Android 官方团队,Jetpack Compose 本身即由该团队维护 |
| ⑥ License | Apache License 2.0,明确(仓库级,GitHub API 确认) |
| ⑦ 最近维护时间 | 该子目录 2026-08-07 有提交,非弃置项目 |
7. 跟同类 Skills 相比的优势
| 名称 | 来源 | 定位 | 与本技能的差异 |
|---|---|---|---|
| adaptive(本推荐) | android/skills | 专注让 Compose 应用适配多设备窗口尺寸与输入方式,五步工作流 + 三套官方 API 参考文档 | — |
| mobile-android-design | wshobson/agents(多领域插件市场,整仓 38,860 stars,与本技能所属领域无关,不作为热度参照) | Material Design 3 与 Compose 综合指南,涵盖主题、导航、手势、无障碍等多主题 | 自适应布局只是众多主题中的一条要点,未展开具体的多窗格布局或列表列数策略;本技能仅聚焦自适应这一件事,工作流与代码示例深度明显更高 |
| navigation-3 | 同合集内 android/skills |
搭建 Jetpack Navigation 3 导航框架本身 | 是本技能的前置依赖,负责导航框架搭建;不涉及导航后如何随窗口尺寸自适应切换布局 |
| migrate-xml-views-to-jetpack-compose | 同合集内 android/skills |
把传统 XML View 迁移到 Jetpack Compose | 同样是本技能的前置依赖,解决“是否已用 Compose”的前提问题;不涉及 Compose UI 写好之后如何做多设备自适应 |
8. 用户评价
- GitHub 用户 saadkhalidkhan 实际 fork 仓库并测试了包括
adaptive在内的多个技能,在 issue #49 中指出adaptive的 SKILL.md 存在一处术语笔误(“screen real state” 应为 “screen space”),并提交了修复分支供官方合并(来源:github.com/android/skills/issues/49)。 - 第三方技术博客 AndroidDevKit 在其 Android Skills 使用指南中,将 “adaptive Compose layouts” 列入该仓库当前可用技能清单,但未对该技能单独展开评价(来源:androiddevkit.com/blog/android-skills-cursor-claude-codex)。
9. 其他补充
无。
10. 安装使用方式
方式一:Android CLI(官方推荐,一条命令)
android skills add --skill=adaptive --project=.
需先安装 Android CLI;未指定 --agent 时默认为 Gemini 与 Antigravity 自动安装,面向 Claude Code / Codex 需显式使用 --agent 参数指定,具体取值以官方文档为准。
方式二:手动安装(适用于 Claude Code / Codex)
git clone https://github.com/android/skills.git
cp -r skills/jetpack-compose/adaptive <你的项目>/.claude/skills/adaptive
复制时需保留 SKILL.md 与 references/ 目录的相对结构(含 FlexBox/Grid/MediaQuery 三套文档的嵌套路径)。安装后无需重启,Agent 会在识别到“让 UI 自适应”“适配平板/折叠屏”“添加多窗格布局”类任务时自动触发,也可按各 Agent 自身语法手动调用。
11. 注意事项
- 使用本技能前项目需已采用 Jetpack Compose 与 Jetpack Navigation 3;若尚未采用,技能本身会提示先运行同合集内的迁移/导航搭建技能。
- Grid 布局相关内容依赖 Compose 1.11.0-beta01 及以上的实验性 API,SKILL.md 要求在使用前征得用户同意;主干工作流(导航栏、多窗格、滚动隐藏)不依赖实验性 API。
- OpenClaw、Hermes Agent 的兼容性未经本技能专门验证,使用前建议先小范围试点。
- 官方 Android CLI 默认只为 Gemini / Antigravity 自动安装,Claude Code / Codex 用户需手动复制或显式指定
--agent参数。