ffx 工具

ffx 提供統一平台,方便主機目標互動使用 Fuchsia CLI 工具。這個介面以服務為導向,可讓使用者對一或多個 Fuchsia 目標裝置執行許多常見的開發和整合工作流程作業。

這項工具既是服務執行階段,也是公用程式的集合,適用於使用者和基礎架構整合人員。

使用者入門指南

請先參閱 ffx 工具的使用手冊

開發人員入門指南

擴充或新增 ffx 的子工具時,請務必考量下列事項:

  • ffx 是以 Rust 開發,並大量使用 Rust Crate。不過,Crate 必須託管在 Fuchsia 平台來源樹狀結構中。Open Source Review Board (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

這個精靈會在主機裝置上於背景執行,並管理下列項目:

  • 目標探索
  • 目標生命週期管理 (刷機、佈建及套件服務)
  • 方便與目標裝置通訊

遙控服務

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

FDomain

FDomain 是一種機制,可讓開發主體機器與 Fuchsia 目標裝置上的 FIDL 服務通訊。這項通訊協定是為了取代 Overnet 而設計,詳情請參閱 FDomain 總覽