指令列介面 (CLI) 提供 FFX 的使用者體驗。負責以下事項:
- 剖析使用者參數 (CLI 參數)
- 與 Daemon 通訊 (必要時從 Daemon 開始)
- 將剖析的參數和要求的 FIDL Proxy 轉送至適當的程式碼路徑 執行
剖析 CLI 參數
FFX 使用 Rust Crate Argh 管理 CLI 以及參數定義和剖析Argh 符合 Google 標準 程式碼就能建構成分離的子工具,以便用於 FFX每個子指令 FFX 呼叫即可以子工具表示,例如:
$fx ffx component run /core/ffx-laboratory:hello_world_rust "fuchsia-pkg://fuchsia.com/hello_world_rust#meta/hello_world_rust.cm"
「元件 run」指令的部分屬於子指令 傳送到「元件執行作業」子工具。詳情請參閱 routing 區段。
與 Daemon 通訊
FFX 會使用 Daemon 在主機上執行長時間執行的工作。變更者: 在背景的 Daemon 中執行這些工作,最新資料 系統會在收到要求後立即提供給 CLI,而非等待目標 裝置才能回應
CLI 需要與 Daemon 通訊時,會先檢查 這個程序在主機上執行時,如果 Daemon 未執行,CLI 就會產生 Daemon 程序並等待連線。所以 超過平均執行 FFX 時的平均放送時間。
轉送
CLI 是專為可延伸架構所設計。在這個架構中 子工具提供程式碼執行功能。子工具是由 GN 混合定義 建構規則和 Rust 屬性子工具的設計能夠分離 FFX 的內部運作。如果你有興趣 FFX 子工具,請造訪 與 FFX 整合。