adb shell am pm 用法
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 for testing your app across different screen densities on high-density screen environment using a low density screen, and vice versa. Example: |
to-uri <INTENT> |
Print the given intent specification as a URI. See the Specification for <INTENT> arguments. |
to-intent-uri <INTENT> |
Print the given intent specification as an intent: URI. See the Specification for <INTENT> arguments. |
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 name contains the text in <FILTER>. Options:
|
list permission-groups |
Prints all known permission groups. |
list permissions [options] <GROUP> |
Prints all known permissions, optionally only those in <GROUP>. 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 system. 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 "package/class"). |
disable <PACKAGE_OR_COMPONENT> |
Disable the given package or component (written as "package/class"). |
disable-user [options] <PACKAGE_OR_COMPONENT> |
Options:
|
grant <PACKAGE_PERMISSION> |
Grant permissions to applications. Only optional permissions the application has declared can be granted. |
revoke <PACKAGE_PERMISSION> |
Revoke permissions to applications. Only optional permissions the application has declared can be revoked. |
set-install-location <LOCATION> |
Changes the default install location. Location values:
Note: This is only intended for debugging; using this can cause applications to break and other undesireable behavior. |
get-install-location |
Returns the current install location. Return values:
|
set-permission-enforced <PERMISSION> [true|false] |
Specifies whether the given permission should be enforced. |
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>, printing the new user identifier of the user. |
remove-user <USER_ID> |
Remove the user with the given <USER_IDENTIFIER>, deleting all data associated with that user |
get-max-users |
Prints the maximum number of users supported by the device. |