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:

  • -D: Enable debugging.
  • -W: Wait for launch to complete.
  • --start-profiler <FILE>: Start profiler and send results to <FILE>.
  • -P <FILE>: Like --start-profiler, but profiling stops when the app goes idle.
  • -R: Repeat the activity launch <COUNT> times. Prior to each repeat, the top activity will be finished.
  • -S: Force stop the target app before starting the activity.
  • --opengl-trace: Enable tracing of OpenGL functions.
  • --user <USER_ID> | current: Specify which user to run as; if not specified, then run as the current user.

startservice [options] <INTENT>


Start the Service specified by <INTENT>.

See the Specification for <INTENT> arguments.

Options are:

  • --user <USER_ID> | current: Specify which user to run as; if not specified, then run as the current user.

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:

  • --user <USER_ID> | all | current: Specify user whose processes to kill; all users if not specified.

kill-all


Kill all background processes.


broadcast [options] <INTENT>


Issue a broadcast intent.

See the Specification for <INTENT> arguments.

Options are:

  • [--user <USER_ID> | all | current]: Specify which user to send to; if not specified then send to all users.

instrument [options] <COMPONENT>


Start monitoring with an Instrumentation instance. Typically the target <COMPONENT> is the form <TEST_PACKAGE>/<RUNNER_CLASS>.

Options are:

  • -r: Print raw results (otherwise decode <REPORT_KEY_STREAMRESULT>). Use with [-e perf true] to generate raw output for performance measurements.
  • -e <NAME> <VALUE>: Set argument <NAME> to <VALUE>. For test runners a common form is -e <testrunner_flag> <value>[,<value>...].
  • -p <FILE>: Write profiling data to <FILE>.
  • -w: Wait for instrumentation to finish before returning. Required for test runners.
  • --no-window-animation: Turn off window animations while running.
  • --user <USER_ID> | current: Specify which user instrumentation runs in; current user if not specified.

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:

  • --user [<USER_ID>|current]: When supplying a process name, specify user of process to dump; uses current user if not specified.
  • -n: Dump native heap instead of managed heap.

set-debug-app [options] <PACKAGE>


Set application <PACKAGE> to debug.

Options are:

  • -w: Wait for debugger when application starts.
  • --persistent: Retain this value.

clear-debug-app


Clear the package previous set for debugging with set-debug-app.


monitor [options]


Start monitoring for crashes or ANRs.

Options are:

  • --gdb: Start gd bserv on the given port at crash/ANR.

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:
am display-size 1280x800


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:
am display-density 480


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:

  • -f:
    See their associated file.
  • -d:
    Filter to only show disabled packages.
  • -e:
    Filter to only show enabled packages.
  • -s:
    Filter to only show system packages.
  • -3:
    Filter to only show third party packages.
  • -i:
    See the installer for the packages.
  • -u:
    Also include uninstalled packages.
  • --user
    <USER_ID>: The user space to query.

list permission-groups


Prints all known permission groups.


list permissions [options] <GROUP>


Prints all known permissions, optionally only those in
<GROUP>.

Options:

  • -g: Organize by group.
  • -f: Print all information.
  • -s: Short summary.
  • -d: Only list dangerous permissions.
  • -u: List only the permissions users will see.

list instrumentation


List all test packages.

Options:

  • -f: List the APK
    file for the test package.
  • <TARGET_PACKAGE>:
    List test packages for only this app.

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:

  • -l: Install the package with forward lock.
  • -r: Reinstall an exisiting app, keeping its data.
  • -t: Allow test APKs to be installed.
  • -i <INSTALLER_PACKAGE_NAME>: Specify the installer
    package name.
  • -s: Install package on the shared mass storage (such as
    sdcard).
  • -f: Install package on the internal system memory.
  • -d: Allow version code downgrade.

uninstall [options] <PACKAGE>


Removes a package from the system.

Options:

  • -k: Keep the
    data and cache directories around after package removal.

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:

  • --user
    <USER_ID>: The user to disable.

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:

  • 0: Auto—Let system decide the best location.
  • 1: Internal—install on internal device storage.
  • 2: External—install on external media.

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:

  • 0 [auto]: Lets
    system decide the best location
  • 1 [internal]:
    Installs on internal device storage
  • 2 [external]:
    Installs on external media

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.

时间: 2024-08-08 20:12:31

adb shell am pm 用法的相关文章

adb shell am 的用法

adb shell am 使用此命令可以从cmd控制台启动 activity, services:发送 broadcast等等: 1 C:\Users\Administrator>adb shell am 2 usage: am [subcommand] [options] 3 4 start an Activity: am start [-D] [-W] <INTENT> 5 -D: enable debugging 6 -W: wait for launch to complete

adb shell input的用法

最近做LCD模组的gamma自动化测试过程中用到了input命令,于是也来了解一下该命令的使用.在运行adb shell 后输入input后运行就会输出input的使用方法,如下: Usage: input [<source>] <command> [<arg>...] The sources are: trackball joystick touchnavigation mouse keyboard gamepad touchpad dpad stylus touch

adb shell 命令之----pm

常用的用法: 查看已经安装的包: pm list packages 查看已经安装的包以及apk路径(-3:只看第三方应用: -s:只看系统应用) -f: see their associated file. -d: filter to only show disbled packages. -e: filter to only show enabled packages. -s: filter to only show system packages. -3: filter to only sh

adb shell中的am pm命令

adb shell中的am pm命令,一些自己的见解和大多数官网的翻译. 先说下am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等.当你在adb shell命令下执行am命令: am <command>你也可以在adb shell前执行am命令:adb shell am start -a android.intent.action.VIEW关于一些am命令的介绍:start [o

【android】android 常用adb 和 adb shell 命令

db是SDK自带的工具,可实现桥接功能:adb shell 可以与手机系统建立交互,是基于andoid Linux系统下的操作 ADB常用命令: 1. 查看设备         adb  devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2. 安装软件 adb  install <apk文件路径> 这个命令将指定的apk文件安装到设备上       参数“-r”,它是更新安装的意思,       参数 -s ,安装到sdcard.     

adb shell

执行Shell命令 Adb提供了shell来在模拟器或手机上运行各种各样的命令,这些命令的二进制形式存在于这个路径中: /system/bin/... 无论是否进入adb远程shell,都可以使用 shell 命令来执. 在未进入远程shell的情况下可以按下述格式执行单条命令: adb [-d|-e|-s {<serialNumber>}] shell <shellCommand> 启动远程shell使用下面的格式: adb [-d|-e|-s {<serialNumber

【Android】-- adb shell 命令探索

ADB是什么,做android开发的没有不知道的. window下运行cmd,输入adb help就会打印adb都能够做的事情,包括 adb push ..adb pull .. adb devices  adb install... 等等..并且一搜一大把. 其中有一个命令叫做  adb shell,android是基于linux的,shell模式下linux的命令可是非常多的,android去掉了许多linux的命令,那么从这写命令里面又能够发现什么宝藏呢?寻宝之旅开启!! 首先linux的

Android 通过adb shell am broadcast发送广播

Android 通过adb shell am broadcast发送广播 adb shell am broadcast 后面的参数有: [-a <ACTION>][-d <DATA_URI>][-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] [--ez <EXTRA_K

ADB Shell学习

ADB Shell 学习 又是一个周末了,最怕闲来无事的周末,于是给自己找点事情做,ADB shell这一块一直没有系统的学习,正好趁此机会学习. 主要通过学习资料和adb –help文档学习 怎么使用ADB shell命令 首先找到Andorid的SDK安装路径或者单独安装ADB组件,sdk中adb路径在 cd <adb-path> #执行adb命令 adb shell Mac下 #配置adb环境变量 vi ~/.bash_profile #编辑该文件,添加你的adb路径 export AD