ADB快速入门——从环境安装到常用命令使用


前言

最近在学习APP测试,了解到ADB工具,该工具可以通过命令行的方式对安卓手机/模拟器进行控制


一、简介

ADB(Android Debug Bridge)是一个通用命令行工具,也是安卓APP常用的调试工具。通过ADB可以实现对APP的卸载、安装、启动、查看日志等功能。

二、ADB环境部署

所需的环境:

  • JDK
  • Android SDK
  • ADB

1、下载安装

这里我电脑之前有装过JDK8了,就不在这里写了。
安装Android SDK https://www.androiddevtools.cn/
进入网页后,选择该导航栏进行定位。
在这里插入图片描述

选择对应的版本进行下载
在这里插入图片描述

下载好之后,解压到一个纯英文的目录中,打开SDK Manager.exe在这里插入图片描述
打开后,勾选Tools,然后点击install,这里我是已经安装过相关包后才截的图,数目是对不上的
在这里插入图片描述在这里插入图片描述
下载完成后,就可以关掉下载界面

2、系统变量配置

右键此电脑==》属性==》高级系统设置==》环境变量==》系统变量
新建一个ANDROID_HOME的系统变量
你的解压路径\android-sdk-windows
在这里插入图片描述
找到Path,点击编辑,新建一个变量,值为 %ANDROID_HOME%/platform-tools
在这里插入图片描述

3、验证是否安装成功

win+R打开命令行,输入 adb version
出现如下打印信息就说明安装成功啦。
在这里插入图片描述

三、ADB常用命令

1、adb devices (查看连接设备命令)

在这里插入图片描述

2、adb connect IP地址:端口号 (连接设备命令)

获取设备连接地址
打开模拟器/手机开发者模式,获取要连接的设备的IP及端口号
①如果使用的是模拟器,下图有常见模拟器的默认端口
在这里插入图片描述

上图来自:https://www.jianshu.com/p/119fbe6e28e0

②如果是真机(同一局域网下),在开发者选项页面,点击打开无线调试
在这里插入图片描述
再次点击打开无限调试的详情页面,即可以看到对应的IP及端口号信息
在这里插入图片描述
执行命令
在这里插入图片描述
这里手机的连接不知道为什么断开了,经过一番搜索,无线调试似乎需要ROOT权限,没有进行root的手机智能通过usb进行连接了。(已能连接,具体参考下面的链接)

最后参考这篇文章成功上岸无限调试,膜拜前辈!http://t.csdnimg.cn/I2RmF

最终连接上了!
在这里插入图片描述

要找到能解决问题的文章还是比较难的,可以换换报错或者提示语句进行搜索,可能就找到了。

3、adb disconnect IP地址:端口号 (断开设备连接)

有连接操作就有断开连接操作
在这里插入图片描述

4、开启或关闭ADB服务

  • 开启:adb start-server
  • 关闭:adb kill-server
    在这里插入图片描述

5、安装/卸载APP

①安装

  • 安装APP:adb install APK路径
  • 选项: -r 覆盖安装并保留数据和缓存
    在这里插入图片描述

②卸载

  • 卸载APP:adb uninstall APK包名(这里是包名,和安装不同!)
  • 选项:-k 卸载时保留数据和缓存
    在这里插入图片描述

6、获取APP包名

  • 列出手机所有APP包名:adb shell pm list packages
  • 选项:-s 只列出系统包名; -3 只列出第三方包名
  • 显示当前打开的APP(屏幕当前显示APP)包名:
    • Windows:adb shell dumpsys window | findstr mCurrentFocus
    • Mac/Linux:adb shell dumpsys window | grep mCurrentFocus

包名(package):在手机里面这个app的名字
界面名(activity):可以理解为当前app所在的界面

①adb shell pm list packages 显示手机所有APP包名
在这里插入图片描述
③adb shell pm list packages -s 显示手机系统自带APP包名
在这里插入图片描述
④adb shell pm list packages -3 显示手机第三方APP包名
在这里插入图片描述
⑤Windows:adb shell dumpsys window | findstr mCurrentFocus
在这里插入图片描述

7、adb shell pm clear 包名(清除应用数据与缓存)

在这里插入图片描述

8、adb shell am start 包名/界面名(启动APP进入到对应界面)

在这里插入图片描述

获取APP启动时间

  • adb shell am start -W 包名/界面名
  • 选项:
    • -W:显示启动时间
    • -S:每次启动前强行停止
    • -R:重复测试次数
  • 常见指标
    • ThisTime:当前activity的时间
    • TotalTime:APP启动时间,包括创建进程、APP初始化、Activity的初始化到界面显示时间
    • WaitTime:前一个应用activity pause的时间+TotalTime

在这里插入图片描述
在这里插入图片描述

9、adb shell am force-stop 包名(停止APP)

在这里插入图片描述

10、获取手机日志

在测试过程中,遇到bug了,需要我们去获取相关日志信息,以便研发定位bug
获取错误日志步骤:

  • 打开被测app,进入到触发bug位置
  • 使用查看日志命令:adb logcat——打开日志功能
  • 触发bug——复现bug
  • 获取打印的日志信息

一般情况下留意Error错误级别的日志。在发现错误日志时及时Ctrl+C停止日志刷新

在这里插入图片描述
也可以使用重定向符号 > ,将日志信息重定向到指定文件
下面的命令可以将产生的日志信息重定向到 Desktop/1.txt 的文件中
adb logcat > Desktop/1.txt
这样在复现完bug之后,Ctrl+C停止日志刷新就可以打开1.txt文件进行日志的查看,在提交bug时附上该文件供研发定位bug
在这里插入图片描述
在这里插入图片描述
日志等级信息:
在这里插入图片描述

11、文件传输

上传文件(电脑–>手机):adb push 电脑文件路径 手机文件夹路径
在这里插入图片描述
在这里插入图片描述
下载文件(手机–>电脑):adb pull 手机文件路径 电脑文件夹路径
在这里插入图片描述
也可以将pull的文件重命名,如果不指定文件名则和手机pull的文件名一致
在这里插入图片描述

扩展 一些手机或模拟器不会展示真实手机文件路径 那么可以使用adb shell 进入linux命令行界面 通过pwd
命令去打印当前的工作路径

12、获取内存

adb shell dumpsys meminfo 包名
观察点:

  • Native/Dalvik的Heap信息
    • 如果这个值一直增加,则可能发生了内存泄漏。
  • Total 的 PSS 值信息:
    • 这个值为APP真正占据的内存大小
      在这里插入图片描述

13、查看CPU占用情况

adb shell top
选项:-s 列号 按指定列排序
在这里插入图片描述

14、获取APP使用流量

获取步骤:

  • 获取进程pid
    • windows:adb shell ps | findstr 包名
    • linux/mac:adb shell ps | grep 包名
  • 获取流量 adb shell cat /proc/{pid}/net/dev
  • 查看流量情况
    在这里插入图片描述

15、Monkey稳定性测试

简介

稳定性测试:****通过长时间对应用程序进行无需操作,检验应用程序是否出现异常,如程序奔溃(crash)、无响应(ANR)等。
测试工具——Monkey

  • 命令行工具,由安卓官方提供
  • 通过Monkey模拟用户的触摸、点击、滑动以及系统按键等操作(随机),实现对APP的压力测试和稳定性测试。
  • 研发结合Monkey打印的日志和系统打印日志,修改测试过程中出现的问题
    稳定性测试时机:产品稳定(功能、专项、性能测试通过了),bug较少的时候,上线前进行测试。

具体命令

adb shell monkey -p 包名 -v 次数 > Desktop\monkey.txt
选项:

  • -p 指定包名
  • -v 日志详细程度(最高支持’-v -v -v’最详细) 在这里插入图片描述
    在这里插入图片描述

参数拓展

在这里插入图片描述
图中的事件类型参数可以设置特定操作类型的比例。
①使用 -s 指定monkey测试序列,同一个序列会执行同样的动作,方便出现bug时复现bug
adb shell monkey -s 100 -p com.tpshop.malls -v 5000 > Desktop/monkey.txt
②使用 --throttle 指定每个操作的间隔,单位是毫秒(注意是两个 -)
一般设置300ms-500ms-800ms
adb shell monkey --throttle 300 -p com.tpshop.malls -v 5000 > Desktop/monkey.txt
③一般稳定性测试会跑20w次(8-12h),为了一次性把问题跑出来,还会带下面两个参数

  • 忽略APP奔溃: ignore-crashes
  • 忽略无响应ANR: ignore-tinmeouts
  • 47
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值