adb常用命令
简介adb 即Android Debug Bridge 安卓调试桥。作用:管理模拟器和真机的通用调试工具,可以借助adb工具实现管理设备或手机模拟器的状态,可以进行许多手机的操控,例如安装卸载app,系统升级等。安装使用确认pc上有ADB环境及配置ok无需安装,直接在cmd命令行进入adb的文件工具命令即可命令查看adb版本adb version查看所有连接的设备adb devices当连接多个设
简介
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占用率数据采集:
-
adb shell "top -n 5 | grep " ,第三列就是实时监控的CPU占用率(-n 指定执行次数,不需root权限),这边top命令执行需要2到3s左右,一般可以采用busybox 的top命令执行,效率会快很多
-
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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)