• adb常用命令


    一、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/addressmac地址
    adb shell ifcongfigIP地址
    adb shell getprop ro.product.model查看设备信息
    adb shell dumpsys sensorservice查看sensor的信息

    2.8 压测相关指令

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

    命令含义
    adb shell monkey 100100个随机事件(比如点击,移动等)
    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-appswitchactivity之间的切换(设定启动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
  • 相关阅读:
    cmake中的设置目标属性set_target_properties
    前端常见安全问题
    【LeetCode专题#基本计算器】基本计算器I,图解中序表达式转逆波兰表达式,太难了
    中国企业出海金字塔:产品出海、渠道出海和品牌出海
    【微服务 31】超细的Spring Cloud 整合Seata实现分布式事务(排坑版)【云原生】
    融合莱维飞行与黄金正弦的蚁狮优化算法-附代码
    PS-HDR图像编辑与应用
    Springboot解决模块化架构搭建打包错误找不到父工程
    MES管理系统的应用和好处有哪些
    NSSCTF web刷题记录4
  • 原文地址:https://blog.csdn.net/weixin_46287157/article/details/126575405