adb和adb shell 常用命令
命令 可选参数(部分) 说明
- adb connect/disconnect :[]
连接/断开设备,port默认5555(可不输) - adb devices -l
连接的设备列表
-l 列出设备的product、model信息
-
adb install <file目标文件> -t -r -d
安装应用
-t 允许测试包
-r 允许覆盖安装
-d 允许低版本安装 -
adb uninstall -k
卸载应用
-k 保存数据和缓存目录 -
adb pull
-
adb push
pull:从设备复制文件或目录(及其子目录)到本地
push:从设备复制文件或目录(及其子目录)到本地 -
adb -s
指定设备执行命令,如:adb -s 192.168.31.55 shell getprop,查看指定设备属性 -
adb shell ps
查看进程列表
9. adb shell
进入设备的shell模式
也可在adb shell后直接输入命令
- adb shell logcat -v
指定日志输出格式(测试较多使用threadtime)
brief:/():
process:()
tag:/:
raw:
time: /():
threadtime: :
long: : /空白行分隔
:<级别>
按级别过滤日志
V —— Verbose(最低优先级)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高优先级,不会打印任何内容)
也可通过:<级别>过滤日志,例如: WindowManager:D
与上述-v命令可组合使用
-c -c:清空日志
11. adb shell 命令 | grep ***
在其他命令后加上,对所有列出结果进入过滤
windows 系统下用 findstr替代grep,或者在 shell 命令后面加上" "引号,例如:adb shell “pm list package|grep utv”
可以使用多个 grep 命令 ,由管道符分割
-E -v -i
grep -E 选项可以用来扩展选项为正则表达式
可以使用 | 来分割多个pattern,以此实现OR操作,例如:grep -E ‘YoukuVideoPlayer|WindowManager’"
可以使用 -E ‘pattern1.pattern2’实现AND操作,例如:|grep -E 'com….android$’
(egrep 命令等同于‘grep -E’)
使用 grep -v 可以实现 NOT 操作,例如:|grep -v ‘android’
使用-i 忽略大小写
-
adb shell getprop
-
adb shell setprop
-
getprop 列出所有配置属性值
-
getprop [key] 取得对应的key的属性值,例如:getprop ro.product.model
-
setprop [key] [value] 设置指定key的属性值
-
adb shell pm list package
-s
-3
查看应用列表
-s 只显示系统应用
-3 只显示第三方应用
显示包名中带字符串的全部应用,例如:pm list package moretv -
adb shell pm clear
清理app缓存 -
adb shell pm dump
打印给定的包的系统状态,包括packag、activity、meminfo、usagestats等
可使用重定向>输出到本地查看,例如:adb shell “pm dump com.utv.android” > C:\Users\hc\Desktop\t45.txt -
adb shell am start
-n -a
启动应用
-n:类名,例如:adb shell “am start -a com.utv.android/com.moretv.android.StartActivity”
-a:action,例如:adb shell “am start -a utv.action.applaunch” -
adb shell am force-stop
强制关闭指定包名的应用程序 -
adb shell am kill
杀死与应用程序的包名称相关联的所有进程(仅限后台进程,如果这个进程在前台,则杀不死) -
adb shell screencap /path/filename.png
-
adb shell screenrecord /path/filename.mp4
–size
screencap:对设备显示屏进行屏幕截图
screenrecord:对设备(运行 Android 4.4(API 级别 19)及更高版本)显示屏进行录制
为实现最佳结果,建议录屏使用 screenrecord --size 1280x720,部分设备可能无法录制播放器中的视频
Control + C 停止屏幕录制,录制最多三分钟
path路径可以进入adb shell后使用ll命令查看权限,一般使用/sdcard路径
存放到目录后,结果adb pull命令获取到本地使用
-
adb shell dumpsys
打印出当前系统信息
输出内容一开始列出:Currently running services,包括cpuinfo、meminfo、activity、user、package等
可以在dumpsys后面加上service的名字,查看指定的service信息,例如adb shell dumpsys package
adb shell dumpsys package
-h
-h:打印帮助说明,可查看到cmd子命令
:跟包名,输出给定包的信息,包括Permissions、versionName、versionCode等 -
adb shell dumpsys activity
-h
-p
top
-h:打印帮助说明,可查看到cmd子命令
-p :限定输出指定包名
top:输出当前栈顶的activity信息 -
adb shell dumpstate
获取系统当前状态的相关信息,包括内存使用、CPU使用、进程相关等信息
获取的内存信息等同执行:adb shell cat /proc/meminfo
获取的cpu info等同执行:adb shell top -n 1 -d 1 -m 30 -t
获取的进程信息等同执行:adb shell procrank
28. adb shell top
-m 最大显示条数
-n 更新次数
-d 两者更新时间
-s 按哪列排序(cpu,vss,rss,thr)
-t 显示线程信息而不是进程
例如:adb shell top -n 1 -d 1 -m 30 -t -s vss
29**. 查看当前设备分辨率:**
— adb shell
— dumpsys window
[可以看到分辨率信息,如下图
30.进入adb shell 后模拟发送按键的指令
adb shell input keyevent {键值}
- 不同的整数代表不同的键值,可参考:
https://blog.csdn.net/wlsfling/article/details/45672169
例如:
adb shell input keyevent 66 --表示输入"Enter"回车键‘
adb shell input keyevent 4 --表示输入"BACK"返回键‘
adb shell input keyevent 21 --表示输入"LEFT"向左移动键‘
adb shell input keyevent 22 --表示输入"RIGHT"向右移动键‘
adb shell input keyevent 19 --表示输入"UP"向上移动键‘
adb shell input keyevent 20 --表示输入"DOWN"向下移动键‘