指令選取

遠端控制服務提供的 API 可用於查詢及連線至目標上的任意 FIDL 服務。

查詢可以比對系統中任意數量的服務,select 則會輸出所有相符項目,並根據元件拓撲中的位置套用格式。

若是特殊情況下只比對單一服務的查詢,RCS 可以連線至該服務,並將控制代碼傳送給主機,以便 FFX 使用。這就是外掛程式系統使用元件選取器對應建立 FIDL Proxy 的方式。

如要查詢目標的服務,請編寫與所需服務相符的選取器

選取器語法

許多與元件或服務互動的 ffx 指令會採用元件選取器做為參數。ffx 中的元件選取器使用的語法與診斷選取器相同。

以下是一些選取器範例,這些選取器都會選取遠端控制服務:

core/remote-control:out:fuchsia.developer.remotecontrol.RemoteControl
core/*:out:fuchsia.developer.remotecontrol.RemoteControl
core/*:expose:fuchsia.developer.remotecontrol.RemoteControl
core/remote-control:out:*
core/*:expose:fuchsia.developer.remotecontrol.R*

選取器區隔

選取器有三個組成區隔:<component moniker>:<node selector>:<property selector>。下文將分別說明。在選取器的每個區隔中,萬用字元 (*) 仍然有效。

請參考以下示例:core/remote-control:out:fuchsia.developer.remotecontrol.RemoteControl

  • core/remote-control元件元件。這會在元件拓撲中明確指定路徑。

  • out 是節點選取器。在 ffx 中,這必須是下列其中一個值,其對應於元件資訊清單中使用的轉送術語,以及轉送術語說明文件中定義的對應術語。

    • out:元件提供的服務。對應至元件資訊清單中的 offer
    • expose:元件公開的服務。對應至元件資訊清單中的 expose
    • in:依附服務取決於元件。對應至元件資訊清單中的 use
  • fuchsia.developer.remotecontrol.RemoteControl 是屬性選取器,會在與節點選取器相符的轉送目錄中與完整 FIDL 服務名稱進行比對。

您可以選擇省略屬性選取器:core/remote-control:out 相當於 core/remote-control:out:*