adb常用命令

简介

adb 即Android Debug Bridge 安卓调试桥。
作用:管理模拟器和真机的通用调试工具,可以借助adb工具实现管理设备或手机模拟器的状态,可以进行许多手机的操控,例如安装卸载app,系统升级等。

安装环境搭建

确认pc上有ADB环境及配置ok
无需安装,直接在cmd命令行进入adb的路径,输入命令即可执行。
配置环境变量:
1.进入我的电脑-属性-高级系统设置
在这里插入图片描述

2.点击环境变量-新增一个ANDROID_HOME配置,值为你的adb文件路径:
在这里插入图片描述

一些基础命令

登录到安卓设备:
adb shell

查看adb版本
adb version

获取系统版本
adb shell getprop ro.build.version.release

查看所有连接的设备
adb devices

当连接多个设备时,指定某个设备操作
adb -s [device name] shell

获取手机序列号
adb get-serialno

查看进程
adb shell ps
查看实时资源使用情况
adb shell top

查看cpu使用情况
adb shell cat /proc/cpuinfo

启动某个app
adb shell am start -n [包名]/[启动入口]

结束adb服务
adb kill-server

adb start-server
重启adb服务

adb shell input keyevent 4
返回上一页

adb shell am start -n com.android.launcher3/.Launcher
返回安卓界面

adb shell am force-stop
强制停止应用

无线连接

找到需要调试的设备Ip,通过以下命令连接:
adb connect ip:port

adb shell dumpsys

打印当前系统信息:adb shell dumpsys

adb shell dumpsys cpuinfo 查看收集cpu情况‘
adb shell dumpsys meminfo+包名 查看应用内存使用情况
adb shell dumpsys diskstats 显示磁盘使用信息
adb shell dumpsys battery
查看电池信息

获取正在运行的app启动包名和启动名的几种方法:
1.adb shell dumpsys window windows |findstr mFocusedApp
2. adb logcat | findstr -i displayed

adb shell input keyevent

模拟按键输入
在这里插入图片描述

包管理

adb install

1.安装单个软件
adb install apk的实际存放路径(直接将apk拖进命令行也行)

2.同时安装多个软件
adb install -multiple apk1路径 apk2路径

3.覆盖安装app,并且保留其数据
adb install -r apk路径

adb uninstall

卸载app
adb uninstall xx.apk

在包删除后保持数据和缓存目录
adb uninstall -k xx.apk

adb shell pm list packages

查看已安装的包

查看跟apk相关的file文件
adb shell pm list packages -f

查看看系统自带的文件包
adb shell pm list packages -s

查看第三方的软件包
adb shell pm list packages -3

adb shell pm path

查看某个安装包的路径
adb shell pm path +包名
adb shell pm path com.android.chrome
在这里插入图片描述

adb shell pm clear

删除与包相关的所有数据(app的数据和缓存)
adb shell pm clear com.test.abc

File Manager

adb pull

从安卓设备上拉取文件到pc的指定位置
adb pull x路径/x.apk pc.apk
adb pull sdcard/log c:\users\downloads

从设备上拷贝文件到pc,并且保留时间戳和模式
adb pull -a 路径/x.apk pc.apk

adb push

将本地pc文件拷贝到android设备上
adb push pc.apk 路径/x.apk

只更新主机上比安卓设备更新的版本
adb push --sync pc.apk tmp/.apk

adb logcat

打印设备的所有日志
adb logcat

打印指定的某个应用的日志
adb logcat | grep com.tencent.mm
or adb logcat |find “com.tencent.mm” # find后面需要加引号

将日志导出到指定位置
adb logcat > D:log.txt
adb logcat -v time 带时间的

adb logcat -c 清空日志
adb shell dmesg 查看内核日志

adb shell screencap

截屏安卓设备的界面
adb shell screencap -p 需要保存的路径/xx.png

复制截图
adb pull android/test.png test.png

录屏
adb shell screenrecord [保存路径]/demo.mp4

adb shell wm size

获取屏幕大小

adb shell input swipe

滑动屏幕
从x(500,500)滑动到y(500,2000)
adb shell input swipe 500 500 500 2000 1000(滑动时间)

命令实战

1.首先,通过adb连接安卓设备:
adb connect ip:5555
2.查看目前已连上的设备
adb devices
3.远程给安卓设备安装app
adb install apk路径
4.查看系统已安装的apk,以及包名
adb shell pm list packages
adb shell pm list packages -N:
N的值有三种:
-s 系统应用
-3第三方应用
-i查看
5.找到安装包名,卸载app
adb uninstall 包名
6.将文件从安卓设备移至pc
adb pull /tmp/log D:/log

7.将pc的文件push到安卓设备
adb push D:/log /tmp

重定向输出日志文件:adb logcat >> log_file

Monkey命令

Monkey 是安卓中附带的工具,它向系统发送的是伪随机的

Monkey测试目的:
1.进行压力测试
2.开发人员可以结合monkey打印的日志和系统打印的日志,来寻找测试发现的问题。

adb shell monkey:对设备进行压力测试
adb shell monkey -p pkgname:对指定包名apk进行压力测试

四大类:
1.基本配置选项,如设置测试的事件数量
2.运行约束选项,如设置只对单独的一个包测试
3.事件类型和频率
4.行为约束

Monkey命令
1.adb shell monkey 200(执行的次数)对设备进行随机200次压力测试
2.adb connect 127.0.0.1:21503 ( 连接模拟器)
3.adb shell monkey -s 500 200(【-s SEED】序列号一样,表示操作一样,步骤一样,前提是:初始状态一样)
为什么要用seed:开发根据日志,复现来解决bug;对于测试来说:验证bug

seed:如果你加入的是一个团队,参考团队值
一个人负责:随机,要求开始monkey测试到结束monkey测试要保持 一 致。

【-v[-v]…】日志的详细程度:最多3个
如:adb shell monkey -p com.songqin.sqoa -s 500 -v -v -v 200
日志级别 Level 0 (-v):仅提供启动提示、测试完成和最终结果等少量信息
日志级别L 2 (-v -v):提供较为详细的日志,包括每个发送到Activity的事件
日志级别 L 3(-v -v -v):最详细的日志,包括了测试中选中/未选中的事件信息

【- -throttle 时间】时间小于3000ms,延迟时间超过这个时间就报ANR
adb shell monkey -p 包名 -v --throttle 3000 500
//为每一次执行一次有效的事件后休眠3000毫秒。

adb shell monkey -p 包名 -v --throttle 3000 500 --ignore-timeouts
当应用程序发生错误时,忽略此错误,程序继续运行

Monkey 结果:
//monkey finish 正常结束

adb logcat 日志分析:
①crash: //crash :包名
②anr: //not responding:包名

monkey aborted due to error :异常停止

monkey日志:重定向
adb shell monkey -p 包名 -s 400 -v > D:\log\monkey.text

adb logcat 日志:
adb logcat -v time > D:\log\logcat.text 这个命令需要手动停止

crash ->logcat 中fatal exception
anr ->anr

Monkey的执行前提条件:
1.手机关闭锁屏,关闭密码,保持手机常亮(最大值)
2.wifi,数据流量的链接 会导致app 无法运行
3.连接耳机
4.APP连网登录(账号自动退出?)
①用脚本命令随时监测登陆状态,一旦退出,Monkey停止,登录再执行
②在你离开之前发现账号退出,就重新更好SEED值执行
5.app初始状态一致

logcat 中关键字shutdown关机 reboot重启

anr日志,需要root才有权限获取/data/anr/traces.txt

在这里插入图片描述
adb shell top -d 5
在这里插入图片描述

cpu占用率数据采集:

  1. adb shell "top -n 5 | grep " ,第三列就是实时监控的CPU占用率(-n 指定执行次数,不需root权限),这边top命令执行需要2到3s左右,一般可以采用busybox 的top命令执行,效率会快很多

  2. adb shell "dumpsys cpuinfo | grep "

两种方法直接区别在于,top是持续监控状态,而dumpsys cpuinfo获取的实时CPU占用率数据

官方参考:https://adbshell.com/commands/adb-shell-rm

https://blog.csdn.net/viewsky11/article/details/53889143/?ops_request_misc=&request_id=&biz_id=102&utm_term=adb&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-5-53889143.nonecase

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值