1.显示系统中全部设备: adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
adb devices
2.开启或关闭ADB服务
开启服务:
adb start-server
关闭服务:
adb kill-server
当执行 adb devices 命令时,显示 offline
需要关闭服务adb kill-server,再重启adb start-server
3.连接设备 adb connect IP
adb connect IP
adb connect 127.0.0.1:7555
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上 面127.0.1.1替换成想要连接设备的IP即可
4.断开设备 adb disconnect IP
adb disconnect IP
5.安装、卸载软件包
安装软件:adb install -r (APK路径)
adb install -r (APK路径)
abd install -r D:\apk\demo.apk
-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空格
卸载软件:adb uninstall (apk包名) 如果卸载 app 但需要保留数据和缓存文件:adb uninstall -k (apk包名)
adb uninstall -k (apk包名)
6.获取软件包
# 列举出手机装的所有app的包名
adb shell pm list packages
adb shell pm list packages
列出系统应用的所有包名:
adb shell pm list package -s
adb shell pm list package -s
列出除了系统应用的第三方应用包名:
abd shell pm list packages -3
abd shell pm list packages -3
显示当前打开的软件包名(需要手动打开目标软件)
Windows:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件)
Windows:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件)
Mac/Linux:adb shell dumpsys window | grep mCurrentFocus
7.清除应用数据与缓存
adb shell pm clear (apk包名)
adb shell pm clear (apk包名)
8.启动、停止应用
启动:adb shell am start 包名/Activity名
停止:adb shell am force-stop (apk包名)
启动、停止应用
启动:adb shell am start 包名/Activity名
停止:adb shell am force-stop (apk包名)
9.获取APP日志
格式:adb logcat > 指定路径
格式:adb logcat > 指定路径
示例:
adb logcat | findstr error > D:\softtest\apptestlog\applog.txt 直接覆盖
adb logcat | findstr error >> D:\softtest\apptestlog\applog.txt 追加
抓取日志以后重定向到某个文件
'>' : 覆盖文件内容
'>>' : 追加在文件末尾
使用场景: 测试期间记录日志. adb logcat >本地文件
避免问题由于不确定复现步骤而导致无法复现,并且被研发拒绝
10.获取APP启动时间
adb shell am start -W 包名/activity名
格式:adb shell am start -W 包名/activity名
常见参数:
-S:表示每次启动前先强行停止(冷启动的时间)
-R:表示重复测试次数
常见的三个指标
ThisTime: 当前activity的时间。
TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。
WaitTime:前一个应用activity pause的时间+TotalTime
adb shell am start -W -S -R 10 包名/activity名
示例:
adb shell am start -W -S -R 4 com.tpshop.malls/com.tpshop.malls.SPMainActivity
效果:强制关闭当前正在运行的程序,并重复启动4次
11.获取内存
格式:adb shell dumpsys meminfo
(1) Native/Dalvik 的 Heap 信息 如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary)。
(2) Total 的 PSS 信息 这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手 机中哪些程序占内存比较大
adb shell dumpsys meminfo
12.查看CPU占用情况
1.格式:adb shell top -m 10 -s cpu
adb shell top -m 10 -s cpu
adb shell dumpsys cpuinfo 查看当前cpu占用情况
adb shell top -s 9(模拟器中代表cpu)
(-m显示最大数量,-s 按指定行排序)
13.获取APP使用流量
1.获取userId(返回数据为userId=)
adb shell dumpsys package 包名 | findstr userId
2.获取上行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userId/tcp_snd
3.获取下行流量(返回数据单位bytes)
adb shell cat proc/uid_stat/userId/tcp_rcv
示例:
adb shell dumpsys package com.tpshop.malls | findstr userId
adb shell cat proc/uid_stat/10035/tcp_snd
adb shell cat proc/uid_stat/10035/tcp_rcv
/system/bin/sh: cat: proc/uid_stat/10035/tcp_rcv: No such file or directory 报错
解决方案:
14.Monkey测试
语法:adb shell monkey -p 包名 -v(日志) 次数 >c:\日志.txt
说明:
-p 指定包名 (所有命令都在此包内执行,如不指定,则在整个系统内执行)
-v log详细程度(最高支持’-v -v -v’最详细)
--throttle 单步延时(每步操作间隔,单位毫秒)
--pct-touch 点击事件
关于这里的次数可以放包名后,也可以放最后面,只要不和延时时间混淆就行
举例:
不控制事件:adb shell monkey –p com.tpshop.malls –v –v 1000 >C:\Users\18810\Desktop\monkey.txt
控制事件:adb shell monkey –p com.tpshop.malls --throttle 100 --pct-touch 50 --pct-motion 50 –v –v
1000 >C:\Users\18810\Desktop\monkey.txt
adb shell monkey -p com.tpshop.malls 100
adb shell monkey -p com.tpshop.malls 100 --throttle 300 -v -v -v >d:\softtest\monkey.txt
15.真机调试Monkey
打开开发者模式
小米手机为例:
1.手机桌面找到【设置】点击打开。
2、点击【我的设备】。
3、进入后上滑,看见【全部参数】的按钮,点击打开。
4、进入后上滑,连续点击【MIUI版本】,连续点击5次,直到看到【您现在处于开发者模式】就打开成功了。
查看手机IP
小米手机路径为:我的设备-全部参数-状态信息-IP地址
如何打开手机USB模式
前提:开发者模式打开之后
设置---更多 --- 开发者模式---打开USB调试
调试:
手机段打开一个网址:以夸克浏览器为例
在电脑端输入abd命令 : adb shell dumpsys window | findstr mCurrentFocus
也可以输入 adb shell (安卓也支持linux命令)
# ls
# ls -l
# cd sdcard
# mkdir tesing 创建一个tesing目录
# ls -l
# exit
Monkey测试时:
adb shell
# monkey -p com.tpshop.malls 100 --throttle 500 -v -v -v > /sdcard/tesing/monkeytest.txt
# pwd
# cd /sdcard/tesing/
# ls
# exit
将日志文件导出到电脑的softtest目录下的apptestlog目录下。
adb pull /sdcard/tesing/monkeytest.txt D:\softtest\apptestlog
是否允许该设备调试,选择“是”
将日志文件导出到电脑的softtest目录下的apptestlog目录下。
adb pull /sdcard/tesing/monkeytest.txt D:\softtest\apptestlog
16.关于 adb shell
adb shell
# pm list packages
# ls
# exit
17.关于 adb version 检查安装的adb版本
adb version