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.

adb shell am pm 用法的更多相关文章

  1. adb shell am broadcast 手动发送广播及adb shell am/pm其他命令

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zi_zhe/article/details/72229201 在命令行可用adb shell am ...

  2. adb shell am pm

    adb shell am instrument [options] <COMPONENT> 作用:启动对instrument实例的监视. 参数[options]: -e <key&g ...

  3. adb shell am 的用法

    adb shell am instrument [options] <COMPONENT> 作用:启动对instrument实例的监视. 参数[options]: -e <key&g ...

  4. adb shell am/pm 常用命令详解与使用

    一.adb shell am 使用此命令可以从cmd控制台启动 activity, services:发送 broadcast等等 1.am start <packageName/.classN ...

  5. (转)adb shell am 的用法

    原文地址:http://blog.csdn.net/fulinwsuafcie/article/details/8092459   adb shell am 的功能 adb shell am 使用此命 ...

  6. adb shell dumpsys的用法

    一. 打印出设备中所有service的信息 zh@zh:~$adb shell dumpsys -l (字母l)zh@zh:~$adb shell service list 二.查询到运行的syste ...

  7. adb shell pm list packages的用法

    abd shell pm list packages     ####查看当前连接设备或者虚拟机的所有包 adb shell pm list packages -d    #####只输出禁用的包. ...

  8. adb shell 命令之----pm

    常用的用法: 查看已经安装的包: pm list packages 查看已经安装的包以及apk路径(-3:只看第三方应用: -s:只看系统应用) -f: see their associated fi ...

  9. 获取手机安装的所有包名adb shell pm list packages

    获取所有已安装包的包名:adb shell pm list packages 查找:adb shell pm list packages|findstr suning

随机推荐

  1. uva 1391 Astronauts(2-SAT)

    /*翻译好题意 n个变量 不超过m*2句话*/ #include<iostream> #include<cstdio> #include<cstring> #inc ...

  2. VBA取得EXCEL表格中的行数和列数

    VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...

  3. Access数据库数据转换Table.Json

    使用WPF组件 xaml <Window x:Class="JsonConvert.MainWindow" xmlns="http://schemas.micros ...

  4. Ajax数据格式,html,xml,json

    1. 2. 3. 4. 5. 6. 7. 8. 9.

  5. 合理计划 dictionary cache 大小

    [数据字典缓冲区(Data Dictionary Cache)  ] 用于存放Oracle系统管理自身所需要的所有信息,包括登录的用户名.用户对象.权限等. 查看 data dictionary ca ...

  6. HDU 4632 CF 245H 区间DP(回文)

    先说HDU 4632这道题,因为比较简单,题意就是给你一个字符串,然后给你一个区间,叫你输出区间内所有的回文子序列,注意是回文子序列,不是回文字串. 用dp[i][j]表示区间[i,j]内的回文子序列 ...

  7. jQuery中自定义简单动画的实现

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  8. 写了一个jquery的 弹出层插件。

    下载地址:http://pan.baidu.com/s/1eQ26CMm ps:ajax加载做的,要有环境才能正常运行哦! //这是一个以ajax加载显示弹出层插件  参数(option): widt ...

  9. Groovy创建和解析json

    正文:  在Groovy 1.8发布新闻中,提到Groovy增加了对JSON的支持.Dustin Marx在其博文中,讲述了这一功能的使用. 用法真的很简单,创建一个JSON对象: import gr ...

  10. Math.round()、Math.ceil()、Math.floor()与Math.random()的区别?

    Math.round(x) 四舍五入 加上0.5向下取整 Math.round(1.5) 2 Math.round(-11.5) -11 Math.round(-11.2) -10 Math.ceil ...