CLI

命令行界面 (CLI) 为 FFX 提供了用户体验。它负责:

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

解析 CLI 参数

FFX 使用 Rust crate Argh 管理 CLI 参数定义和解析。由于 Argh 符合 Google 标准, 代码能够结构化为用于 FFX 的分离子工具。每个子命令 可以用子工具表示,例如:

$fx ffx component run /core/ffx-laboratory:hello_world_rust "fuchsia-pkg://fuchsia.com/hello_world_rust#meta/hello_world_rust.cm"

命令“组件运行”的一部分是一个子命令,用于将代码 “组件运行”子工具。有关详情,请参见 路由部分。

与守护程序通信

FFX 使用守护程序在主机上运行,以协助长时间运行的任务。修改者 在后台守护程序中运行这些任务时, 立即将其提供给 CLI,而不是等待目标 设备做出响应。

当 CLI 需要与守护程序通信时,它首先会检查 表示进程在主机上运行如果守护程序未运行,CLI 生成守护进程并等待连接。因此可以看出, 比首次运行 FFX 时的平均运行时间长。

路由

CLI 是一个可扩展架构。在此架构中 子工具提供代码执行功能。子工具由 GN 构建规则和 Rust 属性子工具的设计方式与 FFX 的内部运作方式。如果您想开发 FFX 的子工具,请访问 与 FFX 集成