发布: 更新时间:2022-08-13 23:28:31
ADB(Android Debug Bridge)是一个通用命令行工具, 也是Android软件测试开发工作者常用的调试工具,
ADB可以用来安装卸载软件、管理安卓系统软件、启动测试、抓取操作日志等。
同时
adb version
adb devices
开启:adb start-server 关闭adb kill-server
adb connect IP
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可。5555是模拟器的端口号
断开设备:adb disconnect IP
安装软件:adb install -r (APK路径)
-g 安装时获取所有需要的权限
-r 代表如果apk已安装,重新安装apk并保留数据和缓存文件。apk路径则可以直接将apk文件拖进cmd窗口,记得加空
格。
卸载软件:adb uninstall (apk包名)
如果卸载 app 但需要保留数据和缓存文件:adb uninstall -k (apk包名)
列出手机装的所有app的包名:
adb shell pm list packages
列出系统应用的所有包名:
adb shell pm list packages -s
列出除了系统应用的第三方应用包名:
adb shell pm list packages -3
显示当前打开的软件包名(如右图):
Windows:adb shell dumpsys window | findstr mCurrentFocus(需要打开目标软件)
Mac/Linux:adb shell dumpsys window | grep mCurrentFocus
adb shell pm clear (apk包名)
启动:adb shell am start 包名/Activity名
停止:adb shell am force-stop (apk包名)
格式:adb logcat >指定路径
adb logcat -t 5 #输出最近5行的日志数据
举例:
① adb logcat >C:\Users\18810\Desktop\1.txt
② 执行完后Ctrl+C结束日志获取
③ 查看获取的1.txt文档即可
格式:adb shell am start -W 包名/activity名
常见参数:
-S:表示每次启动前先强行停止
-R:表示重复测试次数
常见的三个指标
Ø ThisTime: 当前activity的时间。
Ø TotalTime:应用的启动时间,包括创建进程、App初始化、Activity初始化到界面显示。
Ø WaitTime:前一个应用activity pause的时间+TotalTime
格式:adb shell dumpsys meminfo <包名>
(1) Native/Dalvik 的 Heap 信息
如果发现这个值一直增长,则代表程序可能出现了内存泄漏(Out of memary)。
(2) Total 的 PSS 信息
这个值是应用真正占据的内存大小,通过这个信息,可以轻松判别手
机中哪些程序占内存比较大
1.格式:adb shell dumpsys cpuinfo <包名>
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 : 应用程序名称
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
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
monkey命令参数拓展
分类 | 参数 | 释义 |
---|---|---|
基础参数 | -v | 指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别。最高级别为-v -v -v |
-S | 指定monkey测试的序列 | |
-p | 指定一个或多个包(Package,即App) | |
- throttle | 指定用户操作(即事件)间的时延,单位是毫秒 | |
事件类型 | --pct-touch | 调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置) |
--pct-motion | 调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件 和一个up事件组成) | |
--pct-trackball | 调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击) | |
--pct-syskeys | 调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、 Start Call、End Call及音量控制键) | |
--pct-anyevent | 调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的 设备按钮、等等 | |
调试选项 | --ignore--crashes | 应用程序崩溃 |
--ignore-timeouts | 无响应ANR | |
--igone-security- exceptions | 许可证书崩溃 | |
--kill-process-after-error | 发生错误停止运行并保持当前状态 | |
--montitor-native- crashes | 监视并报告Androids系统本地代码的崩溃事件 |
adb pull (文件路径) (想要pull的路径) #将 Android 设备上的文件或者文件夹复制到本地例如复制 test 下的 a.txt 文件到d 盘:adb pull test/a.txt d:
adb push (文件路径) (想要push的路径) #将电脑上的文件或者文件夹传到安卓设备例如将 test 下的 a.txt 文件传到安卓设备下的d 盘:adb push test/a.txt d:
adb shell pm path <package_name>
Read-only file system表示只有可读权限。想要向push文件到/system中,需要获取/system文件的读写权限。于是,做如下操作输入命令:
1: adb root(前提是:手机root了)
2:adb remount,重新挂载系统分区(前提是:adb root)
3:adb shell "mount -o rw,remount /system"
执行完后,没什么反应就是成功了。再输入mount,就可以看到权限情况
标签:adb, adb命令, Monkey命令原神3.8心海武器推荐 原神3.8心海带什么武器
阴阳师寻迹骰怎么获得 阴阳师寻迹骰获得方法
王者荣耀妄想都市观光怎么获得 王者荣耀妄想都市观光活动
阴阳师新召唤屋和幕间皮肤效果怎么样 阴阳师新召唤屋和幕间皮肤获取方法介绍
羊了个羊7.26攻略 羊了个羊7月26日怎么过
崩坏星穹铁道求不得成就攻略介绍 崩坏星穹铁道求不得成就怎么获得
崩坏星穹铁道去吧阿刃成就攻略介绍 崩坏星穹铁道去吧阿刃成就怎么获得
时空中的绘旅人罗夏生日有什么复刻 绘旅人罗夏生日礼包复刻一览
银河境界线武器强度怎么看 银河境界线武器强度排行攻略
阴阳师红蛋蛋限时福利怎么获得 阴阳师再结前缘版本福利介绍