解放双手!Android 发布官方 6 大技能,一键搞定迁移、优化、适配
本文首发于微信公众号“Android技术圈”未经许可禁止转载近日Google 在 GitHub 上开源了android/skills仓库目前里面放了 6 个官方维护的 Agent Skills覆盖构建升级、Compose 迁移、导航框架、性能优化、支付升级和全屏适配。Skill 1AGP 9 升级路径build/agp/agp-9-upgradeAGP 9 是一次破坏性升级涉及 DSL 变更、内置 Kotlin 迁移、kapt 到 KSP 的切换、BuildConfig 改动等多个环节。这个 Skill 的执行流程验证步骤也写得很清楚Gradle sync 成功、./gradlew help通过、./gradlew build --dry-run通过。AGP 9 迁移涉及的改动点多且分散用人工逐项排查容易遗漏这个 Skill 把整个流程结构化了。Skill 2XML View 迁移到 Jetpack Compose路径jetpack-compose/migration/migrate-xml-views-to-jetpack-compose这是一个 10 步迁移方法论从选择迁移目标到最终删除旧 XML 代码每一步都有明确指令前期分析如果用户没有指定要迁移哪个 XMLSkill 会分析代码库自动找出最适合迁移的候选布局。然后对 XML 的层级结构和依赖做技术审计。迁移执行检查并配置 Compose 依赖 → 设置 Compose 主题只迁移目标所需的最小主题 → 按照布局映射规则转换 XML 到 Compose 代码 → 生成 Compose Preview。验证收尾对比迁移前后的 UI 截图确认视觉一致 → 编写 Compose UI 测试 → 替换所有引用 → 删除旧 XML 文件和相关测试。Skill 明确约束了只迁移 UI不改业务逻辑并且要求保持与原有代码风格一致。对于大型项目逐步迁移 Compose 的场景这个 Skill 可以反复使用。Skill 3Navigation 3路径navigation/navigation-3Navigation 3 是 Jetpack Navigation 的下一代这个 Skill 包含一份迁移指南和大量代码示例。迁移指南覆盖了从 Navigation 2 到 Navigation 3 的完整路径依赖更新、路由定义变更、状态管理、UI 组件替换。更有价值的是它提供的 recipes代码示例覆盖了几乎所有常见场景// Navigation3基本用法示例中的 NavDisplay NavDisplay(backStackbackStack, entryProvider{key -when(key){is HomeKey -NavEntry(key){HomeScreen()}is DetailKey -NavEntry(key){DetailScreen(key.id)}}})基础 API基本导航、可持久化的 back stack、entryProvider DSLUI 模式底部导航栏 多 back stack、Dialog、BottomSheetDeep Link基础 URL 解析、带合成 back stack 的高级处理自适应布局List-Detail Scene、Two-pane Scene、Material Adaptive 的 ListDetail 和 SupportingPane架构集成Hilt 模块化、Koin 模块化、ViewModel 参数传递、结果返回事件模式和状态模式条件导航登录/未登录流程切换如果你正在考虑迁移到 Navigation 3这个 Skill 基本上是一站式参考。Skill 4R8 规则分析器路径performance/r8-analyzer这个 Skill 的目标是帮你优化 APK 体积通过分析 R8/ProGuard keep 规则找出冗余和过于宽泛的配置。执行流程分 9 步这个 Skill 有一条硬规则不会直接修改 keep 规则文件只做分析和建议。这在生产环境中是合理的ProGuard 规则改错了可能导致运行时崩溃。Skill 5Play Billing Library 升级路径play/play-billing-library-version-upgradeGoogle Play 计费库的版本升级是 Android 开发中最痛苦的迁移之一——API 变化大、版本间断层多、文档分散在多个 migration guide 里。这个 Skill 把升级拆成 4 个阶段Phase 1 发现检查当前版本。如果代码中还在用SkuDetails不管build.gradle里写的是什么版本实际等效版本视为 PBL 7 或更早。然后计算迁移路径——跨度不超过 2 个大版本就直接迁移否则分步跳v4→v6→v8。Phase 2 规划对每个版本跳跃综合 Migration Guide、Release Notes 中的 Deprecations 和 Breaking Changes、官方文档生成具体的代码变更清单。Phase 3 执行更新 SDK 版本 → 基于代码意图重构不是简单的字符串替换 → 分步编译验证 → 最终跑完整测试和 clean build。Phase 4 报告解释每个改动的原因比如删除了你的retryConnection()逻辑因为新版本的enableAutoServiceReconnection()已经内置了这个功能。Skill 6Edge-to-Edge 全屏适配路径system/edge-to-edgeAndroid 15SDK 35开始强制 edge-to-edge这个 Skill 帮你把 Compose 应用做全屏适配同时处理常见的 UI 遮挡问题。核心步骤规划阶段扫描所有 Activity检查哪些已经支持 edge-to-edge → 检查列表和 FAB 组件 → 检查 TextField 是否会被输入法遮挡。适配执行给每个 Activity 加enableEdgeToEdge()→ 在 AndroidManifest 中设置adjustResize→ 应用系统 insets。Skill 里详细列出了 insets 的优先级选择// 优先使用 Scaffold 的 PaddingValues Scaffold{innerPadding -LazyColumn(modifierModifier .fillMaxSize().consumeWindowInsets(innerPadding), contentPaddinginnerPadding){/* Content */}}还有大量 IME 适配的正确/错误示例对比涵盖了 Scaffold 内外的各种组合情况。最容易犯的错误是 IME insets 被应用两次导致双重 paddingSkill 里用 RIGHT/WRONG 标注把每种场景都说清楚了。此外还覆盖了Adaptive ScaffoldNavigationSuiteScaffold的注意事项、导航栏对比度和系统栏图标颜色、列表滚动到系统栏后面时的半透明保护层、全屏 Dialog 的 edge-to-edge 处理。怎么用这些 SkillAndroid Studio Gemini将 Skill 目录放到项目的.skills/或.agent/skills/目录下Agent Mode 会自动加载。Claude Code / Cursor按照各工具的 Skill 配置方式添加目录路径即可。其他兼容 agentskills.io 标准的工具同样适用。也可以直接从 GitHub 克隆gitclone https://github.com/android/skills.git最后如果你的项目正好面临 AGP 9 升级、Compose 迁移、支付库更新或全屏适配这些任务直接用起来就行。[#Android](javascript: [#AgentSkill](javascript: [#AI编程](javascript: [#AndroidStudio](javascript: [#JetpackCompose](javascript: