控制器
appman-controller
是一个命令行工具,开发者可以在目标设备上使用它来控制应用程序管理器,而无需与其D-Bus接口进行直接通信。
注意:为了使用此工具,应用程序管理器必须连接到会话总线或系统总线;不要使用--dbus none
运行它。
如果您在同一系统中运行多个应用程序管理器实例,您需要告诉控制器您正在引用哪个实例。任何系统UI的默认ID为appman
,但您可以分配自定义实例ID。此外,还会附加一个唯一的数字到已配置的ID,以便在具有相同ID的实例之间进行区分。
使用list-instances
命令可以获取当前所有运行实例的列表。
--instance-id
选项允许您选择要访问哪个正在运行的appman实例。这为您提供了3种可能性
- 您根本不指定
--instance-id
:如果只有一个appman实例正在运行,则会被指向(忽略其实例ID)。如果有更多实例,则工具会停止并出现错误。 - 您仅指定基ID而不指定区分数字(例如
appman
):如果仅有一个使用给定基ID的appman实例正在运行,则会被指向。如果有更多实例,则工具会停止并出现错误。 - 您指定带有区分数字的完整ID(例如appman-1):只有指定的appman实例会被指向。
以下命令可用
命令 | 参数 | 描述 |
---|---|---|
start-application | <application-id>
| 在应用程序管理器中使用application-id 启动应用程序。 |
debug-application | <debug-wrapper-specification>
| 在应用程序管理器中使用application-id 启动应用程序,并使用调试包装器。对于更多信息,请参阅调试包装器。 |
stop-application | <application-id> | 停止具有application-id 的应用程序。 |
stop-all-applications | (无) | 停止应用程序管理器内正在运行的所有应用程序。 |
list-applications | (无) | 在控制台上输出所有可用的应用程序ID,每行一个。 |
show-application | <application-id> | 以YAML格式显示给定应用程序的当前元数据。或者,使用--json 以JSON格式获取元数据。 |
list-packages | (无) | 在控制台上输出所有可用的包ID,每行一个。 |
show-package | <package-id> | 以YAML格式显示给定包的当前元数据。或者,使用--json 以JSON格式获取元数据。 |
install-package | <package> | 安装命令行上提供的包。如果指定包文件为- ,则工具尝试从stdin 读取包。支持以下选项
|
remove-package | <package-id> | 删除指定的 package-id 包。以下选项受支持:
|
list-installation-tasks | (无) | 列出所有活跃的安装任务。 |
cancel-installation-task | <task-id> | 取消指定的 task-id 活跃安装任务。 |
list-installation-locations | (无) | 列出所有安装位置。 |
show-installation-location | <installation-location> | 以 YAML 格式显示指定 installation-location 的详细信息。或者使用 --json 以获得 JSON 格式的位置详细信息。 |
list-instances | (无) | 列出所有当前运行的程序管理器实例的唯一 实例 ID。 |
inject-intent-request | <intent-id>
| 为测试或调试目的将意图请求注入应用程序管理器。这仅在应用程序管理器以 开发模式 运行时才工作。 参数必须作为单个 JSON 字符串提供 - 确保在从壳运行时正确转义任何引号。 默认情况下,注入的意图请求将具有请求应用程序 ID
请注意, 对于成功的非广播请求,结果将以 JSON 格式打印到控制台。 |
appman-controller
自然支持标准的 Unix --help
命令行选项。
© 2024 The Qt Company Ltd. 本文档的贡献版权归各自的所有者所有。所提供的文档是根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰及/或其他国家和地区的商标。所有其他商标均为各自所有者的财产。