常用的adb命令
adb运行原理:
1、PC端的adb server与手机端的守护进程adbd建立连接;
2、PC端的adb client通过adb server转发命令给守护进程adbd;
3、adbd守护进程接收到命令后解析运行。
命令格式:
adb [-s <serialNumber>] <command>
如果连接多台设备时,需要使用-s来指定相应的设备来运行
基本用法:
1、查看adb版本
adb version
2、查看已经连接的设备信息
adb devices
3、连接模拟器设备(ip+端口号,第一台夜神模拟器的端口号是62001)
adb connect 127.0.0.1:62001
4、指定adb server的网络端口号(默认是5037)
adb -P <port> start-server
5、查看应用列表(<filter>可以加字符,进行过滤,不加<filter>表示查出全部的包)
adb shell pm list package <filter>
也可以使用grep来过滤(windows系统需要先进到shell中)
adb shell
pm list package|grep str
6、开启adb server(在调用adb命令时,会自动开启)
adb start-server
7、停止adb server
adb kill-server
8、获取指定设备的分辨率
adb -s 127.0.0.1:62001 shell wm size
9、给指定设备安装apk包
adb -s 127.0.0.1:62001 install test.apk
应用管理:
1、安装指定路径下面的apk包
adb install <path_to_apk>
这里的adb install其实是分三步完成的:
1、push apk到设备/data/local/tmp目录下面
2、调用pm install安装apk
3、删除/data/local/tmp下面的apk包
2、卸载应用
adb uninstall [-k] <packageName>
-k参数表示卸载应用但是保留数据和缓存目录
3、清楚应用数据和缓存
adb shell pm clear <packageName>
4、 查看正在运行的程序
adb shell dumpsys activity services [<packageName>]
5、调用相应package的activity
adb shell am start [options] <INTENT>
6、强制停止某应用
adb shell am force-stop <packageName>
文件管理:
1、将手机设备中的文件复制到电脑
adb pull <手机中的文件路径> [电脑中的目录]
eg:adb pull /sdcard/test.txt C:\test\
2、将电脑中的文件复制到手机设备
adb push <电脑中文件路径> <手机的目录>
eg:adb push C:\test\text.txt /sdcard/
模拟按键输入:
命令格式:
adb shell input keyevent <keycode>
根据不同的keycode来实现不同的功能
adb shell input keyevent 26 //按电源键
adb shell input keyevent 4 //按下返回键
adb shell input keyevent 82 //按下菜单键
adb shell input keyevent 3 //按下home键
输入框输入文字:
adb shell input text hello
//在焦点处于某文本框时,命令用来输入文本
查看日志:adb logcat
命令格式:
[adb] logcat [<option>]…[<filter-spec>]…
常用用法:
- 按级别过滤日志:
V:Verbose(级别最低,输出日志最多)
D:Debug
I:Info
W:Warming
E:Error
S:Silent(级别最高,什么也不输出)
adb logcat *:W
adb logcat *:V
- 按照tag和级别过滤日志:
<filter-spec>可以由多个<tag>[:priority]组成
adb logcat ActivityManager:I MyApp:D *:S
表示:
输出tag为ActivityManager的info级别以上的日志
输出tag为MyApp的Debug级别以上的日志
输出tag为Silent级别的日志
- 按照相应的日志格式输出日志:
adb logcat -v <format>
日志支持以下几种<format>:
1、brief
默认格式,格式为:<priority>/<tag>:<message>
2、process
格式:<priority>(<pid>) <message>
3、tag
格式为:<priority>/<tag>:<message>
4、raw
格式为:<message>
5、time
格式为:<datetime><priority>/<tag>(<pid>):<message>
6、threadtime
格式为:<datetime> <pid><tid><priority><tag>:<message>
7、long
格式为:[<datetime><pid>:<tid> <priority>/<tag>]
<message>
清空日志:
adb logcat -c
查看内核日志:
adb shell dmesg
查看设备信息:
输出一些其他设备信息:
adb shell getprop <属性名>
adb shell getprop ro.product.model //查看设备型号
adb shell getprop ro.build.version.release //查看系统版本
查看硬件参数信息:
adb shell dumpsys battery //查看电池信息
adb shell dumpsys window displays//查看屏幕参数
adb shell ifconfig wlan0 //查看ip地址(连的wifi)
adb shell netcfg //查看更网络配置信息
adb shell cat /proc/cpuinfo //查看cpu信息
adb shell cat /proc/meminfo //查看内存信息
adb shell cat /sys/class/net/wlan0/address //查看MAC地址
adb shell cat /system/build.prop //更多硬件与系统属性
查看屏幕相关信息:
adb shell wm size //查看屏幕分辨率
adb shell wm size 480X1024 //设置屏幕分辨率
adb shell wm size reset //恢复原分辨率
adb shell wm density //查看屏幕密度
adb shell wm density 160 //设置屏幕密度
adb shell wm density reset //恢复原密度
adb shell wm overscan 0,0,0,200 //设置显示区域
adb shell wm overscan reset //恢复原显示区域
查看设置信息:
adb shell settings put global adb_enabled 0 //关闭usb调试模式
adb shell settings get secure android_id //查看设备id
使用功能:
1、重启设备
adb reboot
2、屏幕截图
adb exec-out screencap -p > sc.png //(这个命令直接截图保存在电脑)
或者
adb shell screencap -p /sdcard/1.png 截图保存到设备
adb pull /sdcard/1.png 将截图保存到电脑
3、屏幕录制
adb shell screenrecord /sdcard/filename.mp4 屏幕录制
adb pull /sdcard/filename.mp4 导出到电脑
查看进程:
adb shell ps
pid:进程id
ppid:父进程id
查看实时资源情况:
adb shell top
查看进程号uid:
adb shell dumpsys package <packagename>|grep userId=
凡是需要进入到shell中执行的命令,就是linux命令,跟linux操作系统下的命令使用一致