Using activity manager (am)
Within an adb shell, you can issue commands with the activity manager (am) tool to perform various system actions, such as start an activity, force-stop a process, broadcast an intent, modify the device screen properties, and more. While in a shell, the syntax is:
am <command>
You can also issue an activity manager command directly from adb without entering a remote shell. For example:
adb shell am start -a android.intent.action.VIEW
Table 2. Available activity manager commands
Command |
Description |
start [options] <INTENT> |
Start an Activity specified by <INTENT>. See the Specification for <INTENT> arguments. Options are:
|
startservice [options] <INTENT> |
Start the Service specified by <INTENT>. See the Specification for <INTENT> arguments. Options are:
|
force-stop <PACKAGE> |
Force stop everything associated with <PACKAGE> (the app's package name). |
kill [options] <PACKAGE> |
Kill all processes associated with <PACKAGE> (the app's package name). This command kills only processes that are safe to kill and that will not impact the user experience. Options are:
|
kill-all |
Kill all background processes. |
broadcast [options] <INTENT> |
Issue a broadcast intent. See the Specification for <INTENT> arguments. Options are:
|
instrument [options] <COMPONENT> |
Start monitoring with an Instrumentation instance. Typically the target <COMPONENT> is the form <TEST_PACKAGE>/<RUNNER_CLASS>. Options are:
|
profile start <PROCESS> <FILE> |
Start profiler on <PROCESS>, write results to <FILE>. |
profile stop <PROCESS> |
Stop profiler on <PROCESS>. |
dumpheap [options] <PROCESS> <FILE> |
Dump the heap of <PROCESS>, write to <FILE>. Options are:
|
set-debug-app [options] <PACKAGE> |
Set application <PACKAGE> to debug. Options are:
|
clear-debug-app |
Clear the package previous set for debugging with set-debug-app. |
monitor [options] |
Start monitoring for crashes or ANRs. Options are:
|
screen-compat [on|off] <PACKAGE> |
Control screen compatibility mode of <PACKAGE>. |
display-size [reset|<WxH>] |
Override emulator/device display size. This command is helpful for testing your app across different screen sizes by mimicking a small screen resolution using a device with a large screen, and vice versa. Example: |
display-density <dpi> |
Override emulator/device display density. This command is helpful Example: |
to-uri <INTENT> |
Print the given intent specification as a URI. See the Specification |
to-intent-uri <INTENT> |
Print the given intent specification as an intent: URI. See the Specification |
Using package manager (pm)
Within an adb shell, you can issue commands
with the package manager (pm) tool to perform actions and queries on
application packages installed on the device. While in a shell, the syntax is:
pm <command>
You can also issue a package manager
command directly from adb without entering a remote shell. For example:
adb shell pm uninstall com.example.MyApp
Table 3.
Available package manager commands.
Command |
Description |
list packages [options] <FILTER> |
Prints all packages, optionally only those whose package Options:
|
list permission-groups |
Prints all known permission groups. |
list permissions [options] <GROUP> |
Prints all known permissions, optionally only those in Options:
|
list instrumentation |
List all test packages. Options:
|
list features |
Prints all features of the system. |
list libraries |
Prints all the libraries supported by the current device. |
list users |
Prints all users on the system. |
path <PACKAGE> |
Print the path to the APK of the given <PACKAGE>. |
install [options] <PATH> |
Installs a package (specified by <PATH>) to the Options:
|
uninstall [options] <PACKAGE> |
Removes a package from the system. Options:
|
clear <PACKAGE> |
Deletes all data associated with a package. |
enable <PACKAGE_OR_COMPONENT> |
Enable the given package or component (written as |
disable <PACKAGE_OR_COMPONENT> |
Disable the given package or component (written as |
disable-user [options] <PACKAGE_OR_COMPONENT> |
Options:
|
grant <PACKAGE_PERMISSION> |
Grant permissions to applications. Only optional |
revoke <PACKAGE_PERMISSION> |
Revoke permissions to applications. Only optional permissions the |
set-install-location <LOCATION> |
Changes the default install location. Location values:
Note: This is only |
get-install-location |
Returns the current install location. Return values:
|
set-permission-enforced <PERMISSION> |
Specifies whether the given permission should be |
trim-caches <DESIRED_FREE_SPACE> |
Trim cache files to reach the given free space. |
create-user <USER_NAME> |
Create a new user with the given <USER_NAME>, |
remove-user <USER_ID> |
Remove the user with the given <USER_IDENTIFIER>, deleting |
get-max-users |
Prints the maximum number of users supported by the |