ffx 工具

ffx 为 Fuchsia CLI 工具提供了一个用于主机目标交互的统一平台。它针对许多常见的开发和集成工作流操作引入了一个面向服务的界面,用户可能希望针对一个或多个 Fuchsia 目标设备执行这些操作。

它既是一个服务运行时,又是一个实用程序集合,适用于用户和基础架构集成商。

面向用户的使用入门

查看有关使用 ffx 命令行工具的用户指南。

开发者使用入门

ffx 扩展或添加新插件时,请务必考虑以下事项:

  • ffx 使用 Rust 开发,大量使用 Rust crate。但是,crate 必须托管在 Fuchsia 平台源代码树中。如需详细了解此过程,请参阅开源审核委员会 (OSRB) 流程文档。查看third_party/rust_crates中的现有 crate。
  • 扩展 ffx 时,请通过运行 ffx help 查看现有命令界面,以了解新命令或工具可能适合的位置。
  • 扩展现有命令时,请考虑添加一个标志或选项。但是,如果启用的整体工作流不存在,请考虑使用新命令或更高级别的子分组。
  • 请考虑依赖项,例如哪些 FIDL 服务、本地文件系统条目、目标文件系统路径或该工具依赖的任何清单/清单格式。
  • 考虑该命令如何与多台设备互动。ffx 提供了一个全局 --target 标志,可以多次传递该标志,以便跨多个目标并行执行命令。
  • 该命令需要访问配置还是依赖于特定的构建环境?如果是这样,请利用 ffx 中的各种配置设置,或为特定命令或工作流定义新的配置设置。您可以通过 ffx config get 访问现有配置。

如需查看包含示例的详细指南,请参阅针对 ffx 的开发

CLI

命令行界面 (CLI) 提供 ffx 的用户体验。它负责:

  • 解析用户参数(CLI 参数)
  • 与守护程序通信(必要时启动守护程序)
  • 将解析的参数和请求的 FIDL 代理路由到正确的代码路径以便执行

守护程序

守护程序在主机设备上在后台运行,并管理以下各项:

  • 目标发现
  • 目标生命周期管理(刷写、预配和软件包传送)
  • 促进与目标设备的通信

遥控器服务

遥控器服务在目标设备上运行,并负责提供对目标上运行的 FIDL 服务的访问权限。