每日一个开源项目(第142篇):android/skills - Google 官方 Android 开发 AI Skill 库

📅 2026/6/27 2:36:26
每日一个开源项目(第142篇):android/skills - Google 官方 Android 开发 AI Skill 库
引言“Android Skills 覆盖的是那些 LLM 表现薄弱的 Android 开发场景不是它们已经擅长的。”这是每日一个开源项目系列的第142篇文章。今天的主角是android/skills——Google Android 团队官方开源的 AI Skill 库。LLM 已经能写相当多的 Android 代码了。标准的 RecyclerView、基本的 Jetpack Compose 布局、简单的网络请求——这些在大量训练数据里都有覆盖模型做得不差。难的是另一类任务Android 框架里持续在演进的部分——从 Camera1 迁移到 CameraX、用 AGP 9 的新方式配置构建、理解 Navigation 3 和旧版 Navigation Component 的差异、正确配置 ProGuard/R8 规则。这些场景的官方最佳实践一直在变LLM 的训练数据跟不上。android/skills 的设计逻辑是把 developer.android.com 的最新最佳实践打包成 Skill 文件专门填补 LLM 在这些场景的知识缺口。官方博客的内部数据使用 Skill 后任务完成速度是不用 Skill 时的 3 倍token 消耗减少 70% 以上。你将学到什么13 个官方 Skill 的覆盖范围哪些 Android 场景被认为是 LLM 薄弱点安装和使用Android CLI 命令 Android Studio 集成按需激活架构Skill 如何在需要时自动加载不污染上下文自定义 Skill用 SKILL.md 格式为团队的特定流程编写私有 Skill与 Claude Code、Gemini CLI 等多个 Agent 的兼容配套工具Android CLI 和 Android Knowledge Base前置知识Android 应用开发经验了解 Gradle 构建系统、Jetpack 库使用过 Claude Code、Gemini CLI 或类似 AI 编程工具了解 Agent Skill 的基本概念项目背景项目简介android/skills 是 Google 官方的 Android 开发 AI Skill 仓库跟随 Android CLI 一同于 2026 年 4 月发布。Skill 文件是 Markdown 格式SKILL.md遵循 agentskills.io 开放标准。每个 Skill 包含元数据名称、描述、触发条件 分步骤的执行指令 可选的脚本和参考文档。选题标准很明确专注于 LLM 评测显示表现薄弱的场景而不是已经表现良好的领域比如基础 Compose 组件。这解释了为什么 Skill 列表里没有写一个 Button但有从 Camera1 迁移到 CameraX。作者/团队介绍团队: Google Android 开发者关系团队License: Apache-2.0版本: v1.0.22026年6月文档: developer.android.com/tools/agents/android-skills项目数据⭐ GitHub Stars:5,900 Forks: 328 Releases: 14 个 License: Apache-2.013 个官方 Skill类别Skill解决的问题BuildAGP 9 升级AGP 9 的重大变更和迁移路径CameraCamera1 → CameraX相机 API 迁移最佳实践Device AIApp Functions设备端 AI 功能集成Dev ToolsAndroid CLIAndroid CLI 本身的使用方式IdentityVerified Email邮箱验证实现流程UIJetpack ComposeCompose 薄弱场景的最佳实践NavigationNavigation 3Nav3 设置和从旧版迁移PerformanceR8 AnalyzerR8 配置审查和优化SecurityAndroid Intent SecurityIntent 安全性最佳实践SystemEdge-to-Edge现代化 UI 的边到边适配TestingTesting Setup测试基础设施配置WearWear Compose M3Wear OS 的 M3 组件XR眼镜显示Compose GlimmerXR 设备上的 Compose几个值得关注的 SkillR8 AnalyzerProGuard/R8 规则是 Android 构建里最难调的部分之一。LLM 通常给出通用的 R8 规则建议但缺乏对具体场景反射、第三方库混淆的精确判断。这个 Skill 把 R8 配置分析的完整流程编码进来。AGP 9 升级AGP 每个大版本都有不兼容变更。AGP 9 引入了若干 API 废弃和新的构建行为训练数据里几乎没有覆盖。Skill 提供当前最新的升级路径。Camera1 → CameraXCamera1 API 已经废弃多年但大量老项目还在用。迁移路径有细节比如 Camera2 和 CameraX 的适配器层LLM 处理得不够好。Navigation 3Navigation 3 和旧版 Navigation Component 在架构上有根本性差异不只是 API 变化。Skill 包含设计决策和迁移指引。主要功能安装方式方式一Android CLI推荐# 列出所有可用 Skillandroid skills list# 安装单个 Skillandroid skillsadd--skillr8-analyzer--project.# 安装所有 Skill安装到检测到的所有 Agentandroid skillsadd--all# 指定目标 Agentandroid skillsadd--skillnavigation-3--agentclaude-code,gemini-cli如果没有检测到现有 Agent 配置默认安装到~/.gemini/antigravity/skills。安装位置按 AgentClaude Code~/.claude/skills/Gemini CLI~/.gemini/skills/Android Studio.skills/或.agent/skills/项目根目录方式二Android Studio从 GitHub 仓库下载 Skill 目录在 Android Studio → Gemini → Skills 里导入或者直接把 Skill 目录放到项目根目录的.skills/下使用方式自动激活安装后当 AI Agent 检测到提示词匹配某个 Skill 的描述时自动加载对应 Skill。你对 Claude Code 说把这个 Activity 的 UI 改成 Edge-to-Edge ↓ Agent 检测到edge-to-edge关键词与 Skill 描述匹配 ↓ 自动加载 Edge-to-Edge SkillSKILL.md 相关资源 ↓ 用 Skill 里的步骤指引执行任务手动调用Android Studio在 Gemini 对话框里输入skill-name直接触发对应 Skilledge-to-edge 帮我更新这个 Activity 的 WindowInsets 处理按需加载架构Skill 不是一次性全部加载进 Context Window而是按需读取请求进来 ↓ Agent 先读所有 Skill 的元数据描述字段轻量 ↓ 匹配到相关 Skill ↓ 把完整的 SKILL.md 附属资源加载进 Context Window ↓ 执行任务 没有匹配的 Skill什么都不加载Context Window 不受影响这个设计避免了把所有 Skill 都塞进 System Prompt的低效做法——只在需要时、只加载相关的知识。项目详细剖析SKILL.md 格式官方 Skill 和自定义 Skill 用同一个格式--- name: r8-analyzer # 最长 64 字符小写字母和连字符 description: # 最长 1024 字符这是 Agent 用来匹配的关键 当用户需要分析或优化 Android 应用的 R8/ProGuard 配置时使用此 Skill。 适用场景调试混淆问题、减小 APK 体积、修复运行时崩溃。 metadata: author: android version: 1.0 --- ## Skill 指令 这里是 Markdown 格式的详细步骤建议 10,000-20,000 字符 ### 第一步分析现有配置 ... 如需运行辅助脚本scripts/analyze_rules.py 参考文档见 references/r8-guide.mddescription 字段是关键这 1024 个字符决定 Agent 在什么情况下会激活这个 Skill。写得太宽泛“用于 Android 开发”会误触写得太窄又会漏掉该触发的场景。自定义 Skill为团队编写私有 Skill这是 android/skills 里最被低估的功能任何团队都可以用同样的格式写自己的 Skill。典型应用场景你的团队有一套标准的模块结构规范 → 把这套规范写成一个 SKILL.md → 放到项目 .skills/ 目录里 → 每次 AI 帮你创建新模块时自动遵守这套规范目录结构示例project-root/ └── .skills/ ├── team-module-template/ │ ├── SKILL.md # 必须有 │ ├── scripts/ │ │ └── create_module.sh │ └── references/ │ └── architecture-guide.md ├── internal-api-patterns/ │ └── SKILL.md └── ci-setup/ └── SKILL.md这些私有 Skill 只在当前项目目录里生效不影响其他项目。注意如果你修改了官方 Skill先重命名再修改——android skills add更新时会覆盖同名 Skill。配套工具android/skills 是一个三件套里的一部分Android CLIandroid sdkinstall# 只下载需要的 SDK 组件android create# 用官方模板创建项目android emulator# 管理虚拟设备android run# 构建和部署应用android skills# 管理 Skillandroid docs# 访问知识库CLI 的设计目标是让 AI Agent 用标准化命令操作 Android 工具链减少因环境差异导致的命令失败比如./gradlew assembleDebug在不同环境下的路径差异。Android Knowledge Base持续同步 developer.android.com、Firebase 文档、Kotlin 文档解决 LLM 训练数据陈旧的问题通过android docs命令访问与 Claude Code 集成android/skills 和 Claude Code 完全兼容。安装后android skillsadd--all--agentclaude-codeSkill 文件安装到~/.claude/skills/后Claude Code 在处理 Android 任务时会自动检测并加载相关 Skill。项目地址与资源官方资源GitHub: android/skills文档: developer.android.com/tools/agents/android-skillsAndroid CLI: developer.android.com/tools/agents/android-cliAndroid Studio 集成: developer.android.com/studio/gemini/skillsAgent Skills 标准: agentskills.io总结android/skills 的价值不只是13 个 Skill 文件而是 Google 官方对两个问题的公开回答哪些 Android 开发场景是 LLM 的弱点以及如何用结构化的 Skill 文件来填补这些弱点。专注于 LLM 评测表现薄弱的场景这个设计原则值得学习。它解释了为什么这些 Skill 有实际价值——它们不是对 LLM 已经掌握的知识的重复而是对知识缺口的精准填补。自定义 Skill 的开放格式意味着任何团队都可以用同样的机制把内部架构规范、代码风格约定、常见操作流程编码成 AI 可执行的 Skill而不是每次都在 System Prompt 里重复粘贴。对 Android 开发者来说这是目前最直接有效的 AI 工具链升级方案之一——官方维护、持续更新、多 Agent 兼容。探索 PrimeSkills —— 精选 AI Agent 与技能的市场每一个都经过真实企业工作流验证去掉浮夸留下真正有用的。欢迎访问我的个人主页发现更多有价值的见解和有趣的产品。