每日一个开源项目(第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.2(2026年6月)
- 文档: developer.android.com/tools/agents/android-skills
项目数据
- ⭐ GitHub Stars: 5,900+
- 🍴 Forks: 328+
- 📦 Releases: 14 个
- 📄 License: Apache-2.0
13 个官方 Skill
| 类别 | Skill | 解决的问题 |
|---|---|---|
| Build | AGP 9 升级 | AGP 9 的重大变更和迁移路径 |
| Camera | Camera1 → CameraX | 相机 API 迁移最佳实践 |
| Device AI | App Functions | 设备端 AI 功能集成 |
| Dev Tools | Android CLI | Android CLI 本身的使用方式 |
| Identity | Verified Email | 邮箱验证实现流程 |
| UI | Jetpack Compose | Compose 薄弱场景的最佳实践 |
| Navigation | Navigation 3 | Nav3 设置和从旧版迁移 |
| Performance | R8 Analyzer | R8 配置审查和优化 |
| Security | Android Intent Security | Intent 安全性最佳实践 |
| System | Edge-to-Edge | 现代化 UI 的边到边适配 |
| Testing | Testing Setup | 测试基础设施配置 |
| Wear | Wear Compose M3 | Wear OS 的 M3 组件 |
| XR | 眼镜显示(Compose Glimmer) | XR 设备上的 Compose |
几个值得关注的 Skill:
R8 Analyzer:ProGuard/R8 规则是 Android 构建里最难调的部分之一。LLM 通常给出通用的 R8 规则建议,但缺乏对具体场景(反射、第三方库混淆)的精确判断。这个 Skill 把 R8 配置分析的完整流程编码进来。
AGP 9 升级:AGP 每个大版本都有不兼容变更。AGP 9 引入了若干 API 废弃和新的构建行为,训练数据里几乎没有覆盖。Skill 提供当前最新的升级路径。
Camera1 → CameraX:Camera1 API 已经废弃多年,但大量老项目还在用。迁移路径有细节,比如 Camera2 和 CameraX 的适配器层,LLM 处理得不够好。
Navigation 3:Navigation 3 和旧版 Navigation Component 在架构上有根本性差异,不只是 API 变化。Skill 包含设计决策和迁移指引。
主要功能
安装方式
方式一:Android CLI(推荐)
# 列出所有可用 Skill
android skills list
# 安装单个 Skill
android skills add --skill=r8-analyzer --project=.
# 安装所有 Skill(安装到检测到的所有 Agent)
android skills add --all
# 指定目标 Agent
android skills add --skill=navigation-3 --agent=claude-code,gemini-cli
如果没有检测到现有 Agent 配置,默认安装到 ~/.gemini/antigravity/skills。
安装位置(按 Agent):
- Claude 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 Skill(SKILL.md + 相关资源)
↓
用 Skill 里的步骤指引执行任务
手动调用(Android Studio):
在 Gemini 对话框里输入 @skill-name 直接触发对应 Skill:
@edge-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.md`
description 字段是关键:这 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 CLI:
android sdk install # 只下载需要的 SDK 组件
android create # 用官方模板创建项目
android emulator # 管理虚拟设备
android run # 构建和部署应用
android skills # 管理 Skill
android 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 skills add --all --agent=claude-code
Skill 文件安装到 ~/.claude/skills/ 后,Claude Code 在处理 Android 任务时会自动检测并加载相关 Skill。
项目地址与资源
官方资源
- 🌟 GitHub: android/skills
- 📖 文档: developer.android.com/tools/agents/android-skills
- 🛠 Android CLI: developer.android.com/tools/agents/android-cli
- 🏗 Android Studio 集成: developer.android.com/studio/gemini/skills
- 🌐 Agent 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 与技能的市场,每一个都经过真实企业工作流验证,去掉浮夸,留下真正有用的。
欢迎访问我的个人主页,发现更多有价值的见解和有趣的产品。
更多推荐


所有评论(0)