pm
Package Manage
pm list packages [FILTER] 查看已安装的应用包
-f 显示关联的apk文件
-s 只在系统应用中搜索Filter
-3 只在第三方应用中搜索Filter
-d 只在disabled package搜索Filter
-e 只在enabled package搜索Filter
-i 显示installer
-u uninstalled package
--user USERID
pm list instrumentation [TARGET-PACKAGE] 显示所有测试包
-f 显示关联的apk文件
pm list features
pm list permission-groups
pm list permissions [GROUP]
-g 按组组织
-f 显示所有信息
-s 显示简述
-d 只显示危险权限
-u 只显示用户可见的
pm list users
pm uninstall <package>
-k 保留数据和缓存
pm clear <package> 清除数据
--user USERID
pm path <package> 查看某个应用的apk包路径
pm dump <package> 显示与包相关的系统状态信息
pm install PATH
-l FORWARD_LOCK
-r 重新安装,保留数据
-t 运行安装测试apk
-i 指定安装包名
-s SDCard
-f 内部存储器
-d 允许版本降级
pm get-install-location 返回当前默认安装位置
返回值:
0 auto
1 内部存储
2 外部存储
pm set-install-location 0|1|2 修改默认安装位置,
pm enable|disable|disable-user|disable-until-used|block|unblock [--user USERID] PACKAGE_OR_COMPONENT
pm grant|revoke PACKAGE PERMISSION 应用增减权限(必须在应用中已声明)
pm create-user USER_NAME
pm remove-user USER_ID
pm get-max-users
pm set-permission-enforced PERMISSION [true|false]
pm trim-caches DESIRED_FREE_SPACE
am
Activity Manage
通用选项
--user <USER_ID> | current | all 以特定用户运行
am start [options] <INTENT> 启动Activity
options:
-D 调试模式
-W 等待启动结束
--start-profilter <FILE> 启动分析器,结果输出到文件
-P <FILE> 启动分析器,输出结果到文件,应用空闲时停止分析
-R <COUNT> 反复启动Count次,每次重复前,结束最上层Activity
-S 启动后强制停止
--opengl-trace 启动OpenGL函数记录
--user <USER_ID> | current 指定以哪个用户运行,默认为当前用户
am startservice <INTENT> 启动服务
am stopservice <INTENT> 停止服务
am force-stop <PACKAGE> 强行停止与包相关的所有东西
am kill <PACKAGE> 杀掉与包相关的进程
am kill-all 杀掉所有后台进程
am broadcast <INTENT>
am instrument [options] <COMPONENT>
options:
-r 以原始形式输出测试结果。该选项通常是在性能测试时与-e perf true一起使用
-p <FILE> 输出分析数据到文件
-w <TEST_PACKAGE/RUNNER_CLASS> 等到instrumentation结束时才返回
--no-window-animation
--user <USER_ID> | current
-e <testrunner_flag> <value>[,<value>…]
InstrumentationTestRunner可用flag
package |
<full_java_package> |
执行某个java包里的测试 |
class |
<full_class_name> <full_class_name>#methos_name |
执行某个测试类 |
func |
true |
执行所有InstrumentationTestCase |
unit |
true |
执行非InstrumentationTestCase和非PerformanceTestCase的测试类 |
size |
small|medium|large |
运行@SmallTest,@MediumTest,@LargeTest标注的测试 android.test.annotation包里定义了@LargeTest,@MediumTest,@SmallTest,@Smoke,和@Suppress |
perf |
true |
执行PerformanceTestCase 与-r配合,输出原始格式输出 |
debug |
true |
调试模式执行测试 |
log |
true |
<INTENT> specifications include these flags and arguments:
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] android.intent.action.VIEW content://contacts/people/1 image/png
[-c <CATEGORY> [-c <CATEGORY>] ...] android.intent.category.APP_CONTACTS
[-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>]
dumpsys
查询系统服务,获取系统运行时状态信息
源代码: https://android.googlesource.com/platform/frameworks/native/+/master/cmds/dumpsys/dumpsys.cpp
dumpsys 不带任何参数时显示所有的服务信息
dumpsys | grep FILTER
service list 显示系统服务列表
dumpsys SERVICE [SERVICE_OPTIONS] 显示指定服务的状态信息
dumpsys SERVICE -h 某些服务可以查看能接受的参数
例如:
dumpsys battery
dumpsys wifi
dumpsys cpuinfo
dumpsys meminfo
dumpsys meminfo com.xracoon.wifisetter
dumpsys window w | grep mCurrentFocus
调试测试
dumpstate
dmesg
monkey [options] count
screenrecord [options] <file> android4.4+
screencap -p <file>
input
input [<source>] <command> [<arg>...]
source:
trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen
command和 /默认source:
text <string> /touchscreen
keyevent [--longpress] <key code number or name> ... /keyboard
tap <x> <y> /touchscreen
swipe <x1> <y1> <x2> <y2> [duration_ms] /touchscreen
press /trackball
roll <dx> <dy> /trackball