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