ffx 为 Fuchsia CLI 工具提供了一个用于主机目标交互的统一平台。它为许多常见的开发和集成工作流操作引入了面向服务的界面,用户可能希望针对一个或多个 Fuchsia 目标设备执行这些操作。
它既是一个服务运行时,也是一系列实用程序,适用于用户和基础架构集成商。
面向用户的使用入门
查看有关使用 ffx 命令行工具的用户指南。
开发者入门指南
为 ffx
扩展或添加子工具时,请务必考虑以下事项:
ffx
是使用 Rust 开发的,大量使用 Rust crate。但是,crate 必须托管在 Fuchsia 平台源代码树中。开源审核委员会 (OSRB) 流程文档中详细介绍了该流程。查看third_party/rust_crates
中的现有 crate。- 扩展
ffx
时,请运行ffx help
查看现有的命令 surface,了解新命令或工具适合的位置。 - 在扩展现有命令时,请考虑添加标志或选项。但是,如果不存在已启用的整体工作流,请考虑使用新命令或更高级别的子分组。
- 请考虑依赖项,例如 FIDL 服务、本地文件系统条目、目标文件系统路径或工具依赖的任何清单/清单格式。
- 思考一下该命令如何与多台设备交互。
ffx
提供了一个全局--target
,用于明确声明与哪个设备交互。 - 该命令需要访问配置还是依赖于特定的构建环境?如果是这样,请利用
ffx
中的各种配置设置,或者为特定命令或工作流定义新的配置设置。您可以通过ffx config get
访问现有配置。
如需查看包含示例的详细指南,请参阅 ffx 开发。
CLI
命令行界面 (CLI) 为 ffx 提供用户体验。它负责:
- 解析用户参数(CLI 参数)
- 与守护程序通信(必要时启动守护程序)
- 将已解析的参数和请求的 FIDL 代理路由到正确的代码路径以便执行
守护程序
该守护程序在主机设备的后台运行,并管理:
- 目标发现
- 目标生命周期管理(刷写、预配和提供软件包)
- 促进与目标设备的通信
遥控器服务
遥控器服务在目标设备上运行,并负责提供对目标上运行的 FIDL 服务的访问权限。