常用 adb命令
一、ADB工具介绍
- ADB是一个通用命令行工具,也是Android软件测试开发工作者常用的调试工具
- ADB可以用来安装卸载软件、管理安卓系统软件、启动测试、抓取操作日志等
二、ADB环境准备
- ADK下载地址:tools.android-studio.org/index.php/s…
- ADB下载地址:pan.baidu.com/s/1R-XimjkE… 提取码:3hnt 1、安装安卓SDK 2、安装ADB 3、配置环境变量(计算机右键-属性-高级系统设置-环境变量-新增系统变量) ①配置SDK变量 ②配置Path路径 4、启动命令行,运行adb,检查安装结果 未安装时:
已安装成功:
- 显示系统中全部设备
1、
adb devices
这个命令是查看当前连接的设备,连接到计算机的Android设备或者模拟器将会列出显示
-
开启或关闭adb服务 开启:
adb start-server
关闭:abd kill-server
-
连接设备 adb connect IP(通过网络连接,需要在同一个局域网,通过IP连接,例如192.168.1.61)
断开设备:adb disconnerct IP
如果用数据线连接,直接连,在手机上点击授权即可,然后打开终端,输入adb devices 就OK
- 安装、卸载软件包
1、安装软件:
adb install -r (APK路径)
注释:APK路径,可以直接拖拽到终端即可 -r代表如果apk已安装,重新安装apk并保留数据和缓存文件。 例如:adb install com.achievo.vipshop
(安装唯品会)
adb install -t
允许测试包
adb install -d
允许进行将见状,也就是安装的比手机上带的版本低
adb install -g
为应用程序授予所有运行时的权限
2、卸载软件:adb uninstall (APK包名)
例如:adb uninstall com.achievo.vipshop
(卸载唯品会)
- 获取软件包名
1、列出手机装的手游app的包名:
adb shell pm list packages
2、列出系统应用的所有包名:adb shell pm list packages -s
3、列出除了系统应用的第三方应用包名:adb shell pm list packages -3
4、显示当前打开的软件包名: windows:adb shell dumpays window | findstr mCurrentFocus
(需要打开目标软件)
Mac/Linux:adb shell dumpsys window | grep mCurrentFocus
-
清除应用数据与缓存:
adb shell pm clesr (apk包名)
-
启动、停止应用 1、启动:
adb shell am start 包名/Activity名
2、停止:adb shell am force-stop (apk 包名)
-
pull、push 1、从手机pull文件到电脑:
adb pull /sdcard/DCIM/Camera/ /Users/mac/Desktop/xxx
2、把电脑资料push到手机目录:adb push /Users/mac/Desktop/abc.xlsx /sdcard
-
获取app日志 1、格式:adb logcat > 指定路径 2、举例: ①
adb logcat >C:\Users\18810\Desktop\1.txt
②执行完成后Ctrl+C结束日志获取 ③查看获取的1.txt文档即可 -
获取app启动数据 1、格式:
adb shell am start -W 包名/activity名
2、例如:adb shell am start -W com.achievo.vipshop/com.achievo.vipshop.activity.LodingActivity
或者adb shell am start -W com.achievo.vipshop/.activity.LodingActivity
3、常见参数: -S:表示每次启动前先强行停止 -R:表示重复测试次数 4、常见的三个指标: ThisTime:当前activity的时间 TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始划到界面显示 WaitTime:前一个应用activity pause的时间+TotalTime 举例:adb shell am start -S -R 5 -W com.tpshop.malls/com.tpshop.malls.SplashActivity
-
获取内存 1、格式:
adb shell dumpsys meminfo 包名
2、Native/Dalvik的Heap信息 如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary) 3、Total的PSS信息 这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手机中哪些程序占内存比较大 -
查看CPU占用情况 1、格式:
adb shell top -m 10 -s cpu
(-m显示最大数量,-s按指定行排序)
参数含义:
PID:应用程序ID
S:进程的状态(S表示睡眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值时负数)
#THR:程序当前所用的线程数
VSS:虚拟耗用内存(包括共享库占用的内存)
RSS:实际使用物理内存(包含共享库占用的内存)
PCY:前台(fg)和后台(bg)进程
UID:用户身份ID
Name:应用程序名称
- 获取app使用流量
1、获取userld(返回数据为userld=)
adb shell dumpsys package 包名 | findstr userld
2、获取上行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userld/tcp_snd
3、获取下行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userld/tcp_rcv
- Monkey测试
1、语法:
adb shell monkey -p 包名 -v(日志) 次数 >C:\日志.txt
2、说明: -P:指定包名(所有命令都在此包内执行,如不指定,则在整个系统内执行) -V log详细程度(最高支持‘-v -v -v’最详细) --throttle 单步延时(每步操作间隔,单位毫秒) --pct-touch 点击事件
举例:
不控制事件:
adb shell monkey -p com.tpshop.malls -v -v -v 1000 >C:\User\18810\Desktop\monkey.txt
控制事件:
adb shell monkey -p com.tpshop.malls --throttle 100 --pct-touch 50 --pct-motion 50 -v -v -v 1000 >C:Users\18810\Desktop\monkey.txt
- monkey 命令参数拓展
转载自:https://juejin.cn/post/7022629844261273614