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 服務的存取權。