adb常用命令

文章目录

  • 一、adb指令相关参数
  • 二、adb相关指令
    • 2.1 adb无线连接(需要借助 USB 线)
    • 2.2 基础指令
    • 2.3 软件相关指令
    • 2.4 文件相关指令
    • 2.5 log相关指令
    • 2.6 模拟事件相关指令
    • 2.7 设备属性指令
    • 2.8 压测相关指令
      • 2.8.1 设置事件比例参数
      • 2.8.2 事件忽略某些异常
      • 2.8.3 日志分析
    • 2.9 实用功能

一、adb指令相关参数

参数 含义
-d 指定当前唯一通过USB连接的android设备为命令目标
-e 指定当前唯一运行的模拟器问指令目标
-s 指定响应的设备为命令目标
> 将结果导成文件

二、adb相关指令

Android 基于 Linux。以“adb shell”开头的命令,都可以先执行adb shell命令,然后再执行“adb shell”之后的命令
adb shell dumpsys activity,可以先执行adb shell,然后再执行dumpsys activity

2.1 adb无线连接(需要借助 USB 线)

操作步骤:
1.将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。
2.将设备与电脑通过 USB 线连接。
3.让设备在 5555 端口监听 TCP/IP 连接:adb tcpip 5555
4.断开 USB 连接。
5.找到设备的 IP 地址。 在【设置-关于手机-状态信息-IP地址】可以找到,也可以用adb命令查看
6.通过IP地址连接设备:adb connect
为手机上查到的IP地址,如查到是172.11.111.111
则运行命令:adb connect
7.确认连接状态:adb devices

断开无线连接
命令:adb disconnect

2.2 基础指令

命令 含义
adb start-server 启动adb server
adb kill-server 停止adb server
adb version 查看adb版本
adb devices 查看设备
adb tcpip 5555 让设备在5555端口监听tcp/ip连接
adb root 获取系统root权限
adb shell 进入手机终端
exit 退出手机终端(CTRL+D也可以退出)
adb shell ls 查看手机目录(等价于进入手机终端后运行ls)
adb shell data 查看手机系统当前时间

2.3 软件相关指令

命令 含义
adb install 安装软件(-l安装到保护目录mnt/asec,-r允许覆盖,-s安装到指定设备,-d允许降级覆盖安装,-g授权所有运行时权限)
adb uninstall 包名 卸载应用(-k保留配置文件数据缓存,adb uninstall -k 包名)
adb shell pm list packages 显示手机所有应用
adb shell pm list packages -s 显示手机系统自带应用(-s系统应用,-f应用关联的apk文件,-d查看disabled应用,-e查看enabled应用,-3第三方,-i应用的installer)
adb shell pm list packages aaa 显示包名包含aaa的应用列表
adb shell pm path <包名> 显示应用路径
adb shell dumpsys package <包名> 显示应用详细信息
adb shell “dumpsys window | grep mCurrentFoces” 获取当前的页面名(先打开页面,再执行命令)(如果某个软件的某个页面,进入肯会出错,中间跳过了某些页面
adb shell am start -n <包名>/<页面名> 打开页面
adb logcat ActivityManager:I | grep “cmp” mac:获取启动页面(先执行命令在启动软件,结果为第一个cmp里面的内容)
adb logcat ActivityManager:I | findstr “cmp” win:获取启动页面(先执行命令在启动软件,结果为第一个cmp里面的内容)
adb shell pm clear <包名> 清除应用数据及缓存
adb shell dumpsys meminfo <应用名> 查看某个应用的内存
adb shell top | grep “包名” 查看某个包的一些性能指标
adb shell top -d 1 | grep “包名” 每个一秒查看某个包的一些性能指标

2.4 文件相关指令

命令 含义
adb push 电脑路径 设备路径 文件传输(电脑到设备传文件)
adb pull 设备路径 [电脑路径] 文件传输(设备到电脑传文件,电脑路径可省,就传在终端所在的路径下)
adb shell rm -rf 路径/文件 删除某文件
adb shell mkdir 路径/文件名 创建文件

2.5 log相关指令

命令 含义
adb logcat 查看日志(V:明细(最低优先级),D:调试,I:信息,W:警告,E:错误,F:严重错误,S:无记载(最高优先级,绝不会输出任何内容))(Ctrl+c来停止抓取)
adb logcat -v time 包含时间(默认就有)
adb logcat -v color 使用不同颜色来显示每个优先级
adb logcat -f 将日志输出到文件
adb logcat > log.log 保存日志到PC端的log.log文件
adb logcat -c 清理已存在的日志
adb logcat -v time “:w” 打印w级别及以上的日志
adb logcat ActivityManager:D ‘*:S’ 过滤tag为ActivityManager,等级为D及以上的日志
adb shell cat /proc/kmsg > d:\log.txt 实时kernel log并保存为文件log.txt(Ctrl+c来停止抓取)

2.6 模拟事件相关指令

命令 含义
adb shell input tap x坐标 y坐标 模拟点击事件
adb shell input <输入内容> 模拟输入事件(光标要在输入框内)
adb shell swipe <起点x> <起点y> <终点x> <终点y> [滑动时长] 模拟滑动事件(时长可不填)
adb shell input keyevent 4 模拟点击返回键(3home键,4返回键,5拨号键,6挂断电话,24增加音量,25减小音量,26电源,27拍照,64打开浏览器,82菜单键,164静音,176打开系统设置,187切换应用,207打开联系人,220减低屏幕亮度,221增加屏幕亮度,223系统休眠,224点亮屏幕)

2.7 设备属性指令

命令 含义
adb shell cat /proc/cpuinfo 查看手机系统CPU使用情况
adb shell cat /proc/meminfo 查看手机系统内存使用情况
adb shell dumpsys cpuinfo 查看当前设备CPU使用情况
adb shell dumpsys meminfo 查看当前系统的内存
adb shell dumpsys meminfo <应用名> 查看某个应用的内存
adb shell ps 查看进程
adb shell top 查看cpu使用情况(实时)
adb shell top | grep “包名” 查看某个包的一些性能指标
adb shell top -d 1 | grep “包名” 每个一秒查看某个包的一些性能指标
adb shell dumpsys battery 电池电量
adb shell settings put global adb_enabled 0 关闭USB调试
adb shell wm density reset 恢复屏幕密度
adb shell wm density 160 修改屏幕密度
adb shell wm size 480x1024 修改分辨率
adb shell wm size 屏幕分辨率
adb shell wm density 屏幕密度
adb shell dumpsys window displays 显示屏参数
adb shell cat /system/build.prop 更多硬件与系统属性
adb shell cat /sys/class/net/wlan0/address mac地址
adb shell ifcongfig IP地址
adb shell getprop ro.product.model 查看设备信息
adb shell dumpsys sensorservice 查看sensor的信息

2.8 压测相关指令

压测相关:Monkry是用于稳定性与压力的命令行工具(长时间对手机进行某些操作)
压力测试:随机性,完整性,持续性

命令 含义
adb shell monkey 100 100个随机事件(比如点击,移动等)
adb shell monkey -v 100 打印详细的日志(-vv更详细,-vvv最详细)
adb shell monkey -p 包名 事件数 测试一个包
adb shell monkey -p 包名 -p 包名 事件数 测试多个包
adb shell monkey -p 包名 --throttle 时长 事件数 指定事件时间间隔
adb shell monkey -p 包名 --throttle 时长 -s 事件数 指定伪随机数生成器的seed值(种子数相同的两次运行顺序一样)
adb shell monkey -p 包名 -p 包名 --pct-touch 80 事件数 触摸事件比例为80%
adb shell monkey 事件数 > 文件路径 保存日志

2.8.1 设置事件比例参数

monkey事件相关参数 概率
–pct-touch 触摸事件 (设定点击事件百分比)
–pct-motion 滑动事件(设定动作事件百分比)
–pct-trackball 轨迹事件(设定轨迹事件百分比)
–pct-nav 导航事件(设定基本导航事件百分比,比如输入设备上下左右键)
–pct-majornav 主要导航事件(设定主要导航事件百分比,比如中间键,返回键,菜单键)
–pct-syskeys 系统按键事件(设定系统导航事件百分比,比如home键,back键,拨号键音量键)
–pct-appswitch activity之间的切换(设定启动activity事件百分比)
–pct-pinchzoom 缩放事件
–pct-rotation 屏幕旋转事件
–pct-flip 键盘事件
–pct- anyevent 任意事件(设定不常用事件百分比)

2.8.2 事件忽略某些异常

adb shell monkey -p 包名 --pct-touch 80 --ignore-crashes 事件数 触摸事件比例为80%(忽略崩溃)
–ignore-crashes 忽略崩溃
–ignore-timeouts 忽略超时
–ignore-security-exceptions 忽略安全异常
–kill-process-after-error 发生错误后直接杀死进程
–dag-no-events 初始化启动的activity,但是不产生任何事件
–hprof 指定该项后在实践序列发送前后会立即分析报告
–monitor-native-crashes 跟踪本地方法的奔溃问题
–wait-dbg 直接连接调试器才执行monkey测试
-bugreport 党ANR,系统无响应,Crash的时候获得bugreport

杀死进程停止测试:
adb shell
ps |grep monkey
kill -9 <端口号>

2.8.3 日志分析

日志分析
crash 闪退
exception 异常
force closed 强制退出
anr 程序无响应

2.9 实用功能

命令 含义
adb exec-out screencap -p > E:/a.png 截图
adb shell screenrecord /sdcard/filename.mp4 录制屏幕
adb reboot 重启手机
adb shell svc wifi enable 开启 WiFi
adb shell svc wifi disable 关闭 WiFi
adb reboot recovery 重启到 Recovery 模式
adb reboot bootloader 重启到 Fastboot 模式
adb shell setenforce 1 启用 SELinux
adb shell setenforce 0 禁用 SELinux
adb enable-verity 启用 dm_verity
adb disable-verity 禁用 dm_verity

你可能感兴趣的:(Linux,adb,android)