The appman-controller is a command-line utility that can be used by the developer, or indirectly by other tools, on the target device to control the application manager without communicating directly with its D-Bus interface.

Note: In order to use this tool, the application manager has to be connected to either a session- or system-bus; don't run it with --dbus none.

If you are running multiple application manager instances in the same system, you need to first assign unique instance-ids to each of them and then you can address them individually from the appman-controller tool by using the --instance-id command line option.

The following commands are available:



Starts the application with application-id within the application manager.



Starts the application with application-id within the application manager using a debug-wrapper. For more information, see DebugWrappers.
stop-application<application-id>Stops the application with application-id.
stop-all-applications(none)Stops all applications that are running within the application manager.
list-applications(none)Outputs all available application IDs on the console, one per line.
show-application<application-id>Shows the current metadata for the given application in YAML format. Alternatively, use --json to get the metadata in JSON format instead.
list-packages(none)Outputs all available package IDs on the console, one per line.
show-package<package-id>Shows the current metadata for the given package in YAML format. Alternatively, use --json to get the metadata in JSON format instead.
install-package<package>Installs the package given on the command-line. If the package file is specified as -, the tool tries to read the package from stdin. The following options are supported:

-a, --acknowledge: Automatically acknowledge the installation, instead of relying on the System UI's logic.

remove-package<package-id>Removes the package, specified with package-id. The following options are supported:

-f, --force: Force removal of package.

-k, --keep-documents: Keep the document folder of the package.

list-installation-locations(none)Lists all installaton locations.
show-installation-location<installation-location>Shows details for the specified installation-location in YAML format. Alternatively, use --json to get the location details in JSON format instead.
list-instances(none)Lists all currently running named application manager instances.

[parameters as json string]

Injects an intent request into the application manager for testing or debugging purposes. This only works, if the application manager is running in developmentMode.

The parameters have to be supplied as a single argument JSON string - make sure to correctly escape any quotation marks when running from a shell.

By default, the injected intent request will have a requesting application id of :sysui: (the System UI) and no handling application id. You can use the following command line options to change this behavior:

--requesting-application-id Fake the requesting application id.

--application-id Specify the handling application id to prevent disambiguation.

--broadcast Instead of a directed request, create a broadcast.

Please note that --application-id and --broadcast are mutually exclusive.

For successful non-broadcast requests, the result will be printed to the console as JSON.

The appman-controller naturally supports the standard Unix --help command-line option.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.