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 packages
package:com.android.cts.priv.ctsshim
package:com.android.providers.telephony
package:io.appium.settings
package:com.android.providers.calendar
package:com.android.providers.media
package:com.android.wallpapercropper
package:com.chaoxing.mobile
package:com.android.documentsui
package:com.android.externalstorage
package:com.android.htmlviewer
package:com.android.mms.service
package:com.android.providers.downloads
package:com.wstl.w.csw
package:com.android.browser
package:io.appium.uiautomator2.server
package:com.jingdong.app.reader
package:com.android.defcontainer
package:com.android.certinstaller
package:com.android.carrierconfig
package:android
package:com.android.contacts
package:com.android.camera2
package:com.android.egg
package:com.android.mtp
package:com.android.backupconfirm
package:com.android.provision
package:com.android.statementservice
package:org.cnodejs.android.md
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.android.printspooler
package:com.android.dreams.basic
package:com.android.inputdevices
package:com.perfdog.app
package:com.cf.sysnbld.yeshen
package:com.google.android.webview
package:android.ext.shared
package:com.android.onetimeinitializer
package:com.android.server.telecom
package:com.android.keychain
package:com.android.inputservice
package:com.android.printservice.recommendation
package:com.android.gallery3d
package:com.ss.android.ugc.aweme
package:android.ext.services
package:com.android.calllogbackup
package:com.android.packageinstaller
package:com.android.proxyhandler
package:com.android.managedprovisioning
package:io.appium.uiautomator2.server.test
package:com.amaze.filemanager
package:com.android.storagemanager
package:com.android.bookmarkprovider
package:com.android.settings
package:com.fanmao.crashtest
package:com.app.yujiasuxingji
package:com.android.cts.ctsshim
package:com.wangyin.payment
package:com.android.vpndialogs
package:com.sina.weibo
package:com.android.phone
package:com.android.shell
package:com.android.wallpaperbackup
package:com.android.providers.blockednumber
package:com.android.providers.userdictionary
package:bubei.tingshu
package:com.android.location.fused
package:com.android.systemui
package:com.android.bluetoothmidiservice
package:com.android.bluetooth
package:com.android.providers.contacts
package: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 -3
package:io.appium.settings
package:com.chaoxing.mobile
package:com.wstl.w.csw
package:io.appium.uiautomator2.server
package:com.jingdong.app.reader
package:org.cnodejs.android.md
package:com.perfdog.app
package:com.cf.sysnbld.yeshen
package:com.ss.android.ugc.aweme
package:io.appium.uiautomator2.server.test
package:com.fanmao.crashtest
package:com.app.yujiasuxingji
package:com.wangyin.payment
package:com.sina.weibo
package: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 -3
package:io.appium.settings
package:io.appium.uiautomator2.server
package:org.cnodejs.android.md
package: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.apk
Performing Streamed Install
Success
C:\Users\zengy>adb shell pm list packages -3
package:io.appium.settings
package:com.chaoxing.mobile
package:com.wstl.w.csw
package:io.appium.uiautomator2.server
package:com.jingdong.app.reader
package:com.perfdog.app
package:com.umarkcloud.chaoyang
package:com.cf.sysnbld.yeshen
package:com.ss.android.ugc.aweme
package:io.appium.uiautomator2.server.test
package:com.fanmao.crashtest
package:com.app.yujiasuxingji
package:com.wangyin.payment
package:com.sina.weibo
package:bubei.tingshu
C:\Users\zengy>adb shell pm uninstall com.umarkcloud.chaoyang
Success
查看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 抓包工具对这个应用进行抓包
- 查询商品接口
- 加入购物车接口