Android adb 调试工具

安装配置
https://developer.android.google.cn/studio
配置Android adb 环境以及自动化环境
app自动化环境搭建

官网地址:https://developer.android.google.cn/studio/command-line/adb?hl=zh_cn

前提条件:
Android 设备开启开发者选项功能。

常用操作 — 查看专项数据

查看连接的设备

  1. adb devices

查看电脑已经成功连接的设备情况
image.png
电脑成功连接了3台设备。

  1. 53770172 设备串号
  2. device 表示连接成功

查看设备安装的app 信息

  1. adb -s 127.0.0.1:62001 shell pm list packages
  • -s 127.0.0.1:62001 指定设备 (如果电脑上连接多台手机,必须添加这个参数,如果只连接1台手机,可以不加这个参数。)
  • pm list packages 列出手机端所有的包
    1. C:\Users\zengy>adb -s 127.0.0.1:62001 shell pm list packages
    2. package:com.android.cts.priv.ctsshim
    3. package:com.android.providers.telephony
    4. package:io.appium.settings
    5. package:com.android.providers.calendar
    6. package:com.android.providers.media
    7. package:com.android.wallpapercropper
    8. package:com.chaoxing.mobile
    9. package:com.android.documentsui
    10. package:com.android.externalstorage
    11. package:com.android.htmlviewer
    12. package:com.android.mms.service
    13. package:com.android.providers.downloads
    14. package:com.wstl.w.csw
    15. package:com.android.browser
    16. package:io.appium.uiautomator2.server
    17. package:com.jingdong.app.reader
    18. package:com.android.defcontainer
    19. package:com.android.certinstaller
    20. package:com.android.carrierconfig
    21. package:android
    22. package:com.android.contacts
    23. package:com.android.camera2
    24. package:com.android.egg
    25. package:com.android.mtp
    26. package:com.android.backupconfirm
    27. package:com.android.provision
    28. package:com.android.statementservice
    29. package:org.cnodejs.android.md
    30. package:com.android.providers.settings
    31. package:com.android.sharedstoragebackup
    32. package:com.android.printspooler
    33. package:com.android.dreams.basic
    34. package:com.android.inputdevices
    35. package:com.perfdog.app
    36. package:com.cf.sysnbld.yeshen
    37. package:com.google.android.webview
    38. package:android.ext.shared
    39. package:com.android.onetimeinitializer
    40. package:com.android.server.telecom
    41. package:com.android.keychain
    42. package:com.android.inputservice
    43. package:com.android.printservice.recommendation
    44. package:com.android.gallery3d
    45. package:com.ss.android.ugc.aweme
    46. package:android.ext.services
    47. package:com.android.calllogbackup
    48. package:com.android.packageinstaller
    49. package:com.android.proxyhandler
    50. package:com.android.managedprovisioning
    51. package:io.appium.uiautomator2.server.test
    52. package:com.amaze.filemanager
    53. package:com.android.storagemanager
    54. package:com.android.bookmarkprovider
    55. package:com.android.settings
    56. package:com.fanmao.crashtest
    57. package:com.app.yujiasuxingji
    58. package:com.android.cts.ctsshim
    59. package:com.wangyin.payment
    60. package:com.android.vpndialogs
    61. package:com.sina.weibo
    62. package:com.android.phone
    63. package:com.android.shell
    64. package:com.android.wallpaperbackup
    65. package:com.android.providers.blockednumber
    66. package:com.android.providers.userdictionary
    67. package:bubei.tingshu
    68. package:com.android.location.fused
    69. package:com.android.systemui
    70. package:com.android.bluetoothmidiservice
    71. package:com.android.bluetooth
    72. package:com.android.providers.contacts
    73. package:com.android.captiveportallogin

查看第三方应用

  1. adb -s 127.0.0.1:62001 shell pm list packages -3
  • -3 查看第三方app 信息
    1. adb -s 127.0.0.1:62001 shell pm list packages -3
    2. package:io.appium.settings
    3. package:com.chaoxing.mobile
    4. package:com.wstl.w.csw
    5. package:io.appium.uiautomator2.server
    6. package:com.jingdong.app.reader
    7. package:org.cnodejs.android.md
    8. package:com.perfdog.app
    9. package:com.cf.sysnbld.yeshen
    10. package:com.ss.android.ugc.aweme
    11. package:io.appium.uiautomator2.server.test
    12. package:com.fanmao.crashtest
    13. package:com.app.yujiasuxingji
    14. package:com.wangyin.payment
    15. package:com.sina.weibo
    16. package:bubei.tingshu

安装app

  1. adb -s 127.0.0.1:62025 install C:\Users\zengy\Desktop\app-release.apk
  • C:\Users\zengy\Desktop\app-release.apk 自己电脑上apk 文件的绝对路径。

卸载app

  1. 先找到app的 包名

    1. adb shell pm list packages -3

    找到安装的app信息

    1. C:\Users\zengy>adb shell pm list packages -3
    2. package:io.appium.settings
    3. package:io.appium.uiautomator2.server
    4. package:org.cnodejs.android.md
    5. package:io.appium.uiautomator2.server.test

    image.png

  2. 卸载 cnode 社区app

    1. adb shell pm uninstall org.cnodejs.android.md
  • org.cnodejs.android.md 应用的包名

练习

app.zip

安装下面apk文件

  1. 使用adb 命令安装
  2. 找到这个应用的包名
  3. 使用adb命令卸载

  1. C:\Users\zengy>adb install C:\Users\zengy\Desktop\app.apk
  2. Performing Streamed Install
  3. Success
  4. C:\Users\zengy>adb shell pm list packages -3
  5. package:io.appium.settings
  6. package:com.chaoxing.mobile
  7. package:com.wstl.w.csw
  8. package:io.appium.uiautomator2.server
  9. package:com.jingdong.app.reader
  10. package:com.perfdog.app
  11. package:com.umarkcloud.chaoyang
  12. package:com.cf.sysnbld.yeshen
  13. package:com.ss.android.ugc.aweme
  14. package:io.appium.uiautomator2.server.test
  15. package:com.fanmao.crashtest
  16. package:com.app.yujiasuxingji
  17. package:com.wangyin.payment
  18. package:com.sina.weibo
  19. package:bubei.tingshu
  20. C:\Users\zengy>adb shell pm uninstall com.umarkcloud.chaoyang
  21. Success

查看cpu使用情况

  1. adb shell top

查看内存

dumpsys procstats
查看过去3小时之内的应用内存使用情况

  1. adb shell dumpsys procstats --hours 3

dumpsys meminfo 后跟包名 指定查看对应应用内存使用。

  1. adb shell dumpsys meminfo com.sina.weibo

image.png

查看电量

查看新浪微博自从上次充电依赖所有的电量使用信息。

  1. adb shell dumpsys batterystats --charged com.sina.weibo

查看流量

  1. 先找到用户id

    1. adb shell dumpsys package com.sina.weibo | findstr userId
  2. 根据用户的ID 查看

    1. adb shell dumpsys netstats detail | findstr 10018

其它操作

查看日志

  1. adb logcat

练习

fanmao-app-release.zip

  1. 在手机上安装 app
  2. 使用 adb logcat 命令 查看手机日志
  3. 使用 adb logcat | findstr E 过滤出错的日志

image.png

电脑传文件到手机

  1. adb push C:\Users\zengy\Desktop\01.png /sdcard/DCIM/Camera
  • C:\Users\zengy\Desktop\01.png windows 路径
  • /sdcard/DCIM/Camera 手机路径

手机传文件到电脑

  1. adb pull /sdcard/Download C:\Users\zengy\Desktop

image.png

更多内容

ADB 操作命令详解及用法大全

monkey 压测

性能狗不支持 monkey 压测,
monkey 压测 又叫稳定性测试。 举例,平时在测试手机app的时候,按照测试用例 一步一步执行 来验证功能的正确性。

monkey 使用说明

基本使用

  1. 随机点击整个手机的任意app, 点击1000下
    1. adb shell monkey 1000
    如果应用出现崩溃,运行日志中会自动记录报错的信息。
    image.pngimage.png

monkey压测指定应用

  1. 找到手机安装的第三包

    1. adb shell pm list packages -3

    image.png

  2. 单独测试 指定应用

    1. adb shell monkey -p com.fanmao.crashtest 1000

    针对com.fanmao.crashtest 应用生成1000次 随机的事件。

  3. 指定生成运行事件 | —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%

  1. adb shell monkey -p com.umarkcloud.chaoyang --pct-touch 50 --pct-motion 30 --pct-syskeys 20 -vv 1000

image.png

指定seed 值

指定seed 可以复现之前运行过的事件。

  1. adb shell monkey -s 1626924051974 -p com.umarkcloud.chaoyang --pct-touch 50 --pct-motion 30 --pct-syskeys 20 -vv 1000

image.png

每个事件之间添加固定延迟时间

  1. 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.zip

  1. 下载app 使用adb 命令安装
  2. 查看此应用的包名
  3. 使用 monkey命令运行 10000次, 运行完成之后 将运行日志保存到 xxxx.log 文件中,
  4. 将xxx.log 上传到git 服务器

monkey 运行完成之后,请使用fiddler 抓包工具对这个应用进行抓包

  1. 查询商品接口
  2. 加入购物车接口