前提条件:当前手机已经连接。能正常使用adb命令。
ps -aux grep xxx 命令的使用
查看当前所有进程中,以com.android开头的进程名称。
shell@mx2:/ $ ps -aux grep com.android
USER PID PPID VSIZE RSS WCHAN PC NAME
u0_a12 2485 1570 905244 37532 ffffffff 00000000 S com.android.mms
使用top命令查看占用率。
top
-m 表示最多显示多少个进程
-d 表示刷新间隔时间
-s 如: -s cpu 安装cpu占用率来排序
-h 表示显示帮助文档
shell@mx2:/ $ top -d 3 -s cpu -m 5
User 23%, System 5%, IOW 0%, IRQ 0%
User 73 + Nice 0 + Sys 17 + Idle 224 + IOW 0 + IRQ 0 + SIRQ 0 = 314
PID PR CPU% S #THR VSS RSS PCY UID Name
2293 0 21% S 17 908072K 83276K fg u0_a57 com.lbe.security.meizu:service
14513 0 2% R 1 1292K 484K shell top
2048 0 0% S 46 974020K 125424K fg system com.android.systemui
1015 0 0% S 1 0K 0K root mmcqd/0
1991 0 0% S 79 972872K 58756K fg system system_server
使用ps命令查看当前所有进程
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 556 384 ffffffff 00000000 S /init
root 2 0 0 0 ffffffff 00000000 S kthreadd
root 3 2 0 0 ffffffff 00000000 S ksoftirqd/0
root 6 2 0 0 ffffffff 00000000 S migration/0
root 7 2 0 0 ffffffff 00000000 S watchdog/0
root 20 2 0 0 ffffffff 00000000 S khelper
root 27 2 0 0 ffffffff 00000000 S sync_system_wor
USER: 进程的当前用户
PID: 进程id
PPID:父进程id
VSIZE: virtual size 进程虚拟地址空间大小
RSS:进程正在使用的物理内存的大小
WCHAN:进程如果处于休眠状态的话,在内核中的地址
PC:
NAME:进程名称
相关资料参考地址:
http://blog.csdn.net/tcpipstack/article/details/8541980
am命令的使用
shell@mx2:/ $ am
usage: am [subcommand] [options]
usage: am start [-D] [-W] [-P <FILE>] [--start-profiler <FILE>]
[--R COUNT] [-S] [--opengl-trace]
[--user <USER_ID> | current] <INTENT>
am startservice [--user <USER_ID> | current] <INTENT>
am stopservice [--user <USER_ID> | current] <INTENT>
am force-stop [--user <USER_ID> | all | current] <PACKAGE>
am kill [--user <USER_ID> | all | current] <PACKAGE>
am kill-all
am broadcast [--user <USER_ID> | all | current] <INTENT>
am instrument [-r] [-e <NAME> <VALUE>] [-p <FILE>] [-w]
[--user <USER_ID> | current]
[--no-window-animation] <COMPONENT>
am profile start [--user <USER_ID> current] <PROCESS> <FILE>
am profile stop [--user <USER_ID> current] [<PROCESS>]
am dumpheap [--user <USER_ID> current] [-n] <PROCESS> <FILE>
am set-debug-app [-w] [--persistent] <PACKAGE>
am clear-debug-app
am monitor [--gdb <port>]
am hang [--allow-restart]
am restart
am idle-maintenance
am screen-compat [on|off] <PACKAGE>
am to-uri [INTENT]
am to-intent-uri [INTENT]
am switch-user <USER_ID>
am stop-user <USER_ID>
am stack create <TASK_ID> <RELATIVE_STACK_BOX_ID> <POSITION> <WEIGHT>
am stack movetask <TASK_ID> <STACK_ID> [true|false]
am stack resize <STACK_ID> <WEIGHT>
am stack boxes
am stack box <STACK_BOX_ID>
am start: start an Activity. Options are:
-D: enable debugging
-W: wait for launch to complete
--start-profiler <FILE>: start profiler and send results to <FILE>
-P <FILE>: like above, but profiling stops when 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.
am startservice: start a Service. Options are:
--user <USER_ID> | current: Specify which user to run as; if not
specified then run as the current user.
am stopservice: stop a Service. Options are:
--user <USER_ID> | current: Specify which user to run as; if not
specified then run as the current user.
am force-stop: force stop everything associated with <PACKAGE>.
--user <USER_ID> | all | current: Specify user to force stop;
all users if not specified.
am kill: Kill all processes associated with <PACKAGE>. Only kills.
processes that are safe to kill -- that is, will not impact the user
experience.
--user <USER_ID> | all | current: Specify user whose processes to kill;
all users if not specified.
am kill-all: Kill all background processes.
am broadcast: send a broadcast Intent. Options are:
--user <USER_ID> | all | current: Specify which user to send to; if not
specified then send to all users.
--receiver-permission <PERMISSION>: Require receiver to hold permission.
am instrument: start an Instrumentation. Typically this 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.
--user <USER_ID> | current: Specify user instrumentation runs in;
current user if not specified.
--no-window-animation: turn off window animations while running.
am profile: start and stop profiler on a process. The given <PROCESS> argument
may be either a process name or pid. Options are:
--user <USER_ID> | current: When supplying a process name,
specify user of process to profile; uses current user if not specified.
am dumpheap: dump the heap of a process. The given <PROCESS> argument may
be either a process name or pid. Options are:
-n: dump native heap instead of managed heap
--user <USER_ID> | current: When supplying a process name,
specify user of process to dump; uses current user if not specified.
am set-debug-app: set application <PACKAGE> to debug. Options are:
-w: wait for debugger when application starts
--persistent: retain this value
am clear-debug-app: clear the previously set-debug-app.
am bug-report: request bug report generation; will launch UI
when done to select where it should be delivered.
am monitor: start monitoring for crashes or ANRs.
--gdb: start gdbserv on the given port at crash/ANR
am hang: hang the system.
--allow-restart: allow watchdog to perform normal system restart
am restart: restart the user-space system.
am idle-maintenance: perform idle maintenance now.
am screen-compat: control screen compatibility mode of <PACKAGE>.
am to-uri: print the given Intent specification as a URI.
am to-intent-uri: print the given Intent specification as an intent: URI.
am switch-user: switch to put USER_ID in the foreground, starting
execution of that user if it is currently stopped.
am stop-user: stop execution of USER_ID, not allowing it to run any
code until a later explicit switch to it.
am stack create: create a new stack relative to an existing one.
<TASK_ID>: the task to populate the new stack with. Must exist.
<RELATIVE_STACK_BOX_ID>: existing stack box's id.
<POSITION>: 0: before <RELATIVE_STACK_BOX_ID>, per RTL/LTR configuration,
1: after <RELATIVE_STACK_BOX_ID>, per RTL/LTR configuration,
2: to left of <RELATIVE_STACK_BOX_ID>,
3: to right of <RELATIVE_STACK_BOX_ID>, 4: above <RELATIVE_STACK_BOX_ID>, 5: below <RELATIVE_STACK_BOX_ID>
<WEIGHT>: float between 0.2 and 0.8 inclusive.
am stack movetask: move <TASK_ID> from its current stack to the top (true) or bottom (false) of <STACK_ID>.
am stack resize: change <STACK_ID> relative size to new <WEIGHT>.
am stack boxes: list the hierarchy of stack boxes and their contents.
am stack box: list the hierarchy of stack boxes rooted at <STACK_BOX_ID>.
<INTENT> specifications include these flags and arguments:
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--esn <EXTRA_KEY> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
[--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
[--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
[--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
[--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
[--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
[--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
[-n <COMPONENT>] [-f <FLAGS>]
[--grant-read-uri-permission] [--grant-write-uri-permission]
[--debug-log-resolution] [--exclude-stopped-packages]
[--include-stopped-packages]
[--activity-brought-to-front] [--activity-clear-top]
[--activity-clear-when-task-reset] [--activity-exclude-from-recents]
[--activity-launched-from-history] [--activity-multiple-task]
[--activity-no-animation] [--activity-no-history]
[--activity-no-user-action] [--activity-previous-is-top]
[--activity-reorder-to-front] [--activity-reset-task-if-needed]
[--activity-single-top] [--activity-clear-task]
[--activity-task-on-home]
[--receiver-registered-only] [--receiver-replace-pending]
[--selector]
[<URI> | <PACKAGE> | <COMPONENT>]
使用am命令打开拨号
shell@mx2:/ $ am start -a android.intent.action.CALL -d tel:1008611
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxx }
shell@mx2:/ $
使用am命令打开浏览器
shell@mx2:/ $ am start -a android.intent.action.VIEW http://www.baidu.com
Starting: Intent { act=android.intent.action.VIEW dat=http://www.baidu.com }
后续补充。