Jetpack Navigation 3 指南与实战配方
学习安装和迁移到 Navigation 3,并掌握深度链接、多返回栈、自适应场景、条件导航等模式的实战技能。
技能仅提供导航实现的操作指南,无高风险权限操作,依赖均在官方文档中声明,无隐藏数据流或敏感信息处理。但缺少对用户确认或回滚步骤的明确要求,且来源未经验证,故扣分。
核心迁移步骤和代码示例自洽,但依赖外部库和API,静态审查无法验证可运行性,错误处理仅提示用户检查假设,缺少详细失败反馈。
适用场景明确,面向使用Compose和Navigation 2迁移到Navigation 3的开发者,但边界条件需用户自查,且未涉及中国大陆网络可达性,依赖海外服务,故扣分。
文档结构清晰,有迁移指南、食谱和参考,但缺少版本历史和变更日志,维护责任仅由文档作者体现,未明确更新路径。
核心任务(迁移)的步骤和代码示例应能指导完成,但静态审查无法验证其直接可用性,用户需自行验证。
食谱引用官方GitHub仓库和开发者文档,但缺乏独立验证证据,静态审查无法确认其真实性。
- 依赖海外服务(如developer.android.com),在中国大陆可能无法直接访问,建议代理或镜像。
- 迁移指南假设项目满足特定条件,使用前需由用户确认,否则可能导致不完整迁移。
- 静态审查无法验证代码实际可运行性,请在实际项目中验证。
这个 Skill 能做什么,适合哪些场景?
此技能为 Android 开发者提供 Jetpack Navigation 3 的全面指南和代码示例。它包含从 Navigation 2 升级到 Navigation 3 的分步迁移指南、类型安全导航的文档、以及覆盖从基础 API 到高级模式(如深层链接、多返回栈、对话框/底部工作表场景、自适应双面板布局、条件导航、结果返回、模块化导航和 ViewModel 集成)的丰富配方。所有内容面向使用 Jetpack Compose 和 Kotlin 的现代 Android 应用。由 Google LLC 维护,遵循 Apache-2.0 许可证。
通过指向 SKILL.md 中引用的 Markdown 文件,提供导航相关教程、开发文档和代码示例。具体操作包括:指导从 Navigation 2 到 Navigation 3 的迁移步骤、展示如何实现基本 API 用法、使用可保存的返回栈、通过 DSL 定义入口、构建带多个返回栈的底部导航栏、解析和处理深层链接、创建自定义场景(如对话框、底部工作表、列表详情、双面板)、应用 Material 自适应布局、自定义动画、处理条件导航(如登录状态)、使用 Hilt/Koin 解耦导航代码、将参数传递给 ViewModel,以及将结果作为事件或状态返回。
- 正在使用 Navigation 2 并计划升级到 Navigation 3 的 Android 开发者,需要迁移指南
- 希望在 Compose 应用中实现底部导航栏,并保留每个标签页独立导航历史的开发者
- 需要处理从外部 Intent 传入的深度链接,并确保正确的返回栈行为的开发者
- 需要实现自适应列表-详情或双面板布局,以适配手机和平板等不同屏幕尺寸的开发者
- 希望使用 Hilt 或 Koin 将导航代码模块化,以便于大型项目维护的开发者
- 需要将导航结果返回给上一个目的地,以状态或事件方式传递的开发者
这个 Skill 有哪些优点和局限?
- 由 Google 提供并维护,内容权威且与官方文档一致
- 覆盖从基础到高级的广泛场景,包括迁移、深层链接、自适应布局和架构模式
- 提供代码示例,可直接用于实战
- 持续更新,最后更新于 2026 年
- 遵循开放的 Agent Skills 标准,易于集成
- 内容仅包含指向 Markdown 文件的链接,本身不包含实际代码,需要手动复制或查看
- 未包含测试或验证步骤,用户需自行验证示例的正确性
- 大部分内容适用于 Compose 和 Kotlin,对传统 View 系统的支持有限(仅提及互操作性)
- 安装需要 Android CLI 工具,对于不熟悉该工具的用户可能增加学习成本
如何安装这个 Skill?
本技能来自 android/skills 仓库,该仓库包含多个技能。要安装此特定技能,可以使用 Android CLI 工具,在项目根目录执行:android skills add --skill=navigation-3 --project=. 或者,手动将 SKILL.md 文件及其引用的 references 目录放入您的 agent 技能目录(例如 ~/.gemini/antigravity/skills/navigation-3/)。
如何使用这个 Skill?
安装后,您可以在对话中引用该技能,例如:"使用 navigation-3 技能,帮我编写从 Navigation 2 迁移到 Navigation 3 的步骤",或"参考 navigation-3 技能中的配方,实现一个带多个返回栈的底部导航栏"。技能将引导您阅读相关的 Markdown 指南和代码示例。
这个 Skill 与同类方案有什么区别?
该技能是 Android 官方提供的,与 Jetpack Navigation 的其他版本(如 Navigation 2)形成对比,其内容专门针对 Navigation 3,包含迁移指南。没有提及与其他第三方导航库(如 Voyager、Decompose)的直接比较。