命令选择

遥控器服务提供了一个 API,用于查询和连接 任意 FIDL 服务。

查询可以匹配系统上的任意数量的服务,以及 select 将输出所有匹配项,其格式取决于它们在 组件拓扑

对于与单项服务唯一匹配的查询,RCS 可以 连接到该服务,并将句柄传递给主机以供 FFX 使用。 这就是 FHO 子工具框架创建 FIDL 的方式 代理。

要查询目标上的服务,请编写选择器 与相关服务匹配。

选择器语法

许多与组件或服务交互的 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:*