Android adb 调试工具
安装配置
https://developer.android.google.cn/studio
配置Android adb 环境以及自动化环境
app自动化环境搭建
官网地址:https://developer.android.google.cn/studio/command-line/adb?hl=zh_cn
前提条件:
Android 设备开启开发者选项功能。
常用操作 — 查看专项数据
查看连接的设备
adb devices
查看电脑已经成功连接的设备情况
电脑成功连接了3台设备。
53770172 设备串号device 表示连接成功
查看设备安装的app 信息
adb -s 127.0.0.1:62001 shell pm list packages
- -s 127.0.0.1:62001 指定设备 (如果电脑上连接多台手机,必须添加这个参数,如果只连接1台手机,可以不加这个参数。)
- pm list packages 列出手机端所有的包
C:\Users\zengy>adb -s 127.0.0.1:62001 shell pm list packagespackage:com.android.cts.priv.ctsshimpackage:com.android.providers.telephonypackage:io.appium.settingspackage:com.android.providers.calendarpackage:com.android.providers.mediapackage:com.android.wallpapercropperpackage:com.chaoxing.mobilepackage:com.android.documentsuipackage:com.android.externalstoragepackage:com.android.htmlviewerpackage:com.android.mms.servicepackage:com.android.providers.downloadspackage:com.wstl.w.cswpackage:com.android.browserpackage:io.appium.uiautomator2.serverpackage:com.jingdong.app.readerpackage:com.android.defcontainerpackage:com.android.certinstallerpackage:com.android.carrierconfigpackage:androidpackage:com.android.contactspackage:com.android.camera2package:com.android.eggpackage:com.android.mtppackage:com.android.backupconfirmpackage:com.android.provisionpackage:com.android.statementservicepackage:org.cnodejs.android.mdpackage:com.android.providers.settingspackage:com.android.sharedstoragebackuppackage:com.android.printspoolerpackage:com.android.dreams.basicpackage:com.android.inputdevicespackage:com.perfdog.apppackage:com.cf.sysnbld.yeshenpackage:com.google.android.webviewpackage:android.ext.sharedpackage:com.android.onetimeinitializerpackage:com.android.server.telecompackage:com.android.keychainpackage:com.android.inputservicepackage:com.android.printservice.recommendationpackage:com.android.gallery3dpackage:com.ss.android.ugc.awemepackage:android.ext.servicespackage:com.android.calllogbackuppackage:com.android.packageinstallerpackage:com.android.proxyhandlerpackage:com.android.managedprovisioningpackage:io.appium.uiautomator2.server.testpackage:com.amaze.filemanagerpackage:com.android.storagemanagerpackage:com.android.bookmarkproviderpackage:com.android.settingspackage:com.fanmao.crashtestpackage:com.app.yujiasuxingjipackage:com.android.cts.ctsshimpackage:com.wangyin.paymentpackage:com.android.vpndialogspackage:com.sina.weibopackage:com.android.phonepackage:com.android.shellpackage:com.android.wallpaperbackuppackage:com.android.providers.blockednumberpackage:com.android.providers.userdictionarypackage:bubei.tingshupackage:com.android.location.fusedpackage:com.android.systemuipackage:com.android.bluetoothmidiservicepackage:com.android.bluetoothpackage:com.android.providers.contactspackage:com.android.captiveportallogin
查看第三方应用
adb -s 127.0.0.1:62001 shell pm list packages -3
- -3 查看第三方app 信息
adb -s 127.0.0.1:62001 shell pm list packages -3package:io.appium.settingspackage:com.chaoxing.mobilepackage:com.wstl.w.cswpackage:io.appium.uiautomator2.serverpackage:com.jingdong.app.readerpackage:org.cnodejs.android.mdpackage:com.perfdog.apppackage:com.cf.sysnbld.yeshenpackage:com.ss.android.ugc.awemepackage:io.appium.uiautomator2.server.testpackage:com.fanmao.crashtestpackage:com.app.yujiasuxingjipackage:com.wangyin.paymentpackage:com.sina.weibopackage:bubei.tingshu
安装app
adb -s 127.0.0.1:62025 install C:\Users\zengy\Desktop\app-release.apk
- C:\Users\zengy\Desktop\app-release.apk 自己电脑上apk 文件的绝对路径。
卸载app
先找到app的 包名
adb shell pm list packages -3
找到安装的app信息
C:\Users\zengy>adb shell pm list packages -3package:io.appium.settingspackage:io.appium.uiautomator2.serverpackage:org.cnodejs.android.mdpackage:io.appium.uiautomator2.server.test

卸载 cnode 社区app
adb shell pm uninstall org.cnodejs.android.md
- org.cnodejs.android.md 应用的包名
练习
安装下面apk文件
- 使用adb 命令安装
- 找到这个应用的包名
- 使用adb命令卸载
C:\Users\zengy>adb install C:\Users\zengy\Desktop\app.apkPerforming Streamed InstallSuccessC:\Users\zengy>adb shell pm list packages -3package:io.appium.settingspackage:com.chaoxing.mobilepackage:com.wstl.w.cswpackage:io.appium.uiautomator2.serverpackage:com.jingdong.app.readerpackage:com.perfdog.apppackage:com.umarkcloud.chaoyangpackage:com.cf.sysnbld.yeshenpackage:com.ss.android.ugc.awemepackage:io.appium.uiautomator2.server.testpackage:com.fanmao.crashtestpackage:com.app.yujiasuxingjipackage:com.wangyin.paymentpackage:com.sina.weibopackage:bubei.tingshuC:\Users\zengy>adb shell pm uninstall com.umarkcloud.chaoyangSuccess
查看cpu使用情况
adb shell top
查看内存
dumpsys procstats
查看过去3小时之内的应用内存使用情况
adb shell dumpsys procstats --hours 3
dumpsys meminfo 后跟包名 指定查看对应应用内存使用。
adb shell dumpsys meminfo com.sina.weibo

查看电量
查看新浪微博自从上次充电依赖所有的电量使用信息。
adb shell dumpsys batterystats --charged com.sina.weibo
查看流量
先找到用户id
adb shell dumpsys package com.sina.weibo | findstr userId
根据用户的ID 查看
adb shell dumpsys netstats detail | findstr 10018
其它操作
查看日志
adb logcat
练习
- 在手机上安装 app
- 使用 adb logcat 命令 查看手机日志
- 使用 adb logcat | findstr E 过滤出错的日志

电脑传文件到手机
adb push C:\Users\zengy\Desktop\01.png /sdcard/DCIM/Camera
- C:\Users\zengy\Desktop\01.png windows 路径
- /sdcard/DCIM/Camera 手机路径
手机传文件到电脑
adb pull /sdcard/Download C:\Users\zengy\Desktop
更多内容
monkey 压测
性能狗不支持 monkey 压测,
monkey 压测 又叫稳定性测试。 举例,平时在测试手机app的时候,按照测试用例 一步一步执行 来验证功能的正确性。
monkey 使用说明
基本使用
- 随机点击整个手机的任意app, 点击1000下
如果应用出现崩溃,运行日志中会自动记录报错的信息。adb shell monkey 1000


monkey压测指定应用
找到手机安装的第三包
adb shell pm list packages -3

单独测试 指定应用
adb shell monkey -p com.fanmao.crashtest 1000
针对com.fanmao.crashtest 应用生成1000次 随机的事件。
指定生成运行事件 | —pct-touch
| 调整轻触事件所占百分比。(轻触事件是指屏幕上的单个位置上的按下/释放事件。) | | —- | —- | | —pct-motion | 调整动作事件所占百分比。(动作事件包括屏幕上某个位置的按下事件,一系列伪随机动作和一个释放事件。) | | —pct-trackball | 调整轨迹球事件所占百分比。(轨迹球事件包括一个或多个随机动作,有时后跟点击。) | | —pct-nav | 调整“基本”导航事件所占百分比。(导航事件包括向上/向下/向左/向右,作为方向输入设备的输入。) | | —pct-majornav | 调整“主要”导航事件所占百分比。(这些导航事件通常会导致界面中的操作,例如 5 方向键的中间按钮、返回键或菜单键。) | | —pct-syskeys | 调整“系统”按键事件所占百分比。(这些按键通常预留供系统使用,例如“主屏幕”、“返回”、“发起通话”、“结束通话”或“音量控件”。) | | —pct-appswitch | 调整 Activity 启动次数所占百分比。Monkey 会以随机间隔发起 startActivity() 调用,以最大限度地覆盖软件包中的所有 Activity。 | | —pct-anyevent | 调整其他类型事件所占百分比。这包括所有其他类型的事件,例如按键、设备上的其他不太常用的按钮等等。 |
运行app。 点击事件 50% 手势事件 30% 系统事件 20%
adb shell monkey -p com.umarkcloud.chaoyang --pct-touch 50 --pct-motion 30 --pct-syskeys 20 -vv 1000

指定seed 值
指定seed 可以复现之前运行过的事件。
adb shell monkey -s 1626924051974 -p com.umarkcloud.chaoyang --pct-touch 50 --pct-motion 30 --pct-syskeys 20 -vv 1000

每个事件之间添加固定延迟时间
adb shell monkey --throttle 600 -s 1626924051974 -p com.umarkcloud.chaoyang --pct-touch 50 --pct-motion 30 --pct-syskeys 20 -vv 1000
- —throttle 600 每个事件之间添加 600毫秒的延迟
作业
- 下载app 使用adb 命令安装
- 查看此应用的包名
- 使用 monkey命令运行 10000次, 运行完成之后 将运行日志保存到 xxxx.log 文件中,
- 将xxx.log 上传到git 服务器
monkey 运行完成之后,请使用fiddler 抓包工具对这个应用进行抓包
- 查询商品接口
- 加入购物车接口
