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 參數)
  • 與 Daemon 通訊 (必要時從 Daemon 開始)
  • 將剖析的參數和要求的 FIDL Proxy 轉送至適當的程式碼路徑,以便執行

Daemon

Daemon 會在主機裝置的背景中執行及管理:

  • 目標探索
  • 目標生命週期管理 (刷新、佈建及提供套件)
  • 輕鬆與目標裝置通訊

遙控器服務

遠端控制服務會在目標裝置上執行,負責提供對在目標上執行的 FIDL 服務的存取權。