作者:捉虫布道人

ADB,即 Android Debug Bridge,ADB具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能,是 Android 开发/测试人员不可替代的强大工具,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。

一、ADB安装

下载adt-bundle-windows,并解压到本地文件夹:D:\adt-bundle-windows;并配置其环境变量。

在cmd窗口验证ADB安装是否成功:

C:\Users\chang>adb version

Android Debug Bridge version 1.0.31

二、ADB连接手机或模拟器

当您连接运行 Android 4.2.2 或更高版本的设备时,系统将显示一个对话框,询问您是否接受允许在这台计算机上调试的 RSA 密钥。这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 ADB 命令。

Android手机用usb数据线连接到pc的usb口上(或启动模拟器)

打开手机的开发者模式(默认没打开):设置->关于手机->版本号10.0.0.162,连续点五次以上,会提示已经打开开发者模式

在设置的最上端,搜索“开发人员选项”,点进去

勾选其中的USB调试,确定弹出的提示框

在屏幕的通知栏,点击usb连接的通知,选传输文件mtp

在cmd->adb devices,如果能够列出设备的序列号就说明环境搭建成功

C:\Users\chang>adb devices

List of devices attached

127.0.0.1:56001 device

三、常见的ADB命令

1、列出所有的设备(模拟器、真机)

如果有多个设备连接的话,在使用ADB的时候需要使用-s参数指定设备的序列号,如adb -s emulator-5554 shell top。

C:\Users\chang>adb devices

List of devices attached

127.0.0.1:56001 device

emulator-5554 devices

2、获取设备状态

设备的状态有 3 种,device , offline , unknown

device:设备正常连接

offline:连接出现异常,设备无响应

unknown:没有连接设备

C:\Users\chang>adb get-state

device

3、 开启adb服务

C:\Users\chang>adb start-server

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

4、关闭adb服务

C:\Users\chang>adb kill-server

5、adb logcat 查看Log日志信息(熟练掌握)

#比较直接的方法

adb logcat

#-v的选项:brief(默认的、简要的) process tag thread raw time threadtime long

adb logcat -v time

#打印在控制台上,不太好查阅,能不能直接写到文件中去

adb logcat -v time > e:\log.txx

#日志等级,每一条日志记录都有一个等级的

V:所有的信息都打印

D:debug调试信息

I: Information,信息

W:warning,警告,编译器认为你可能有问题;实际上可能没问题

E:error,错误

F: fatal,致命的

S:静默的,啥也不打印到日志

#通过分析,v、s没啥用,D、I、W对我们测试人员来说用处也不大,需要过滤掉

adb logcat -v time *:W > e:\log1.txt

6、挂载到Linux的空间

C:\Users\chang>adb shell

root@iToolsAVM_T0018628S:/ # ls

ls

acct

cache

config

d

data

default.prop

dev

etc

file_contexts

fstab.vbox86

init

init.environ.rc

init.rc

init.trace.rc

init.usb.rc

init.vbox86.rc

init.vbox86p.rc

mnt

proc

property_contexts

root

sbin

sdcard

seapp_contexts

sepolicy

storage

sys

system

ueventd.goldfish.rc

ueventd.rc

ueventd.vbox86.rc

vendor

7、 获取linux下运行系统进程

adb shell top -n 1 -d 1

-n 1:表示获取后台进程的次数

-d 1:获取多次的时候,每次之间的时间间隔1秒

C:\Users\chang>adb shell top -n 1 -d 1

User 0%, System 0%, IOW 0%, IRQ 0%

User 1 + Nice 0 + Sys 1 + Idle 400 + IOW 0 + IRQ 0 + SIRQ 0 = 402

PID PR CPU% S  #THR    VSS    RSS PCY UID      Name

2029  2  0% S    61 998000K  72336K    system  system_server

2  0  0% S    1      0K      0K    root    kthreadd

3  0  0% S    1      0K      0K    root    ksoftirqd/0

4  0  0% S    1      0K      0K    root    kworker/0:0

5  0  0% S    1      0K      0K    root    kworker/0:0H

6  0  0% S    1      0K      0K    root    kworker/u8:0

7  2  0% S    1      0K      0K    root    rcu_preempt

8  3  0% S    1      0K      0K    root    rcu_sched

9  0  0% S    1      0K      0K    root    rcu_bh

10  3  0% S    1      0K      0K    root    rcuop/0

11  2  0% S    1      0K      0K    root    rcuos/0

12  0  0% S    1      0K      0K    root    rcuob/0

8、 安装应用程序手机或模拟器

C:\Users\chang>adb install e:\data\2048.apk

3428 KB/s (24140275 bytes in 6.875s)

pkg: /data/local/tmp/2048.apk

Success

此安装方式,如果应用已经存在,会安装失败,推荐使用覆盖安装,adb install -r e:\data\2048.apk

9、应用程序的包名

C:\Users\chang>adb shell dumpsys window | findstr mCurrentFocus

mCurrentFocus=Window{4a9e5314 u0 com.lilysgame.calculatorjw/com.lilysgame.calculator.b.Es}

C:\Users\chang>adb uninstall com.lilysgame.calculatorjw

Success

10、将本地的文件推送到远程设备上

adb push

C:\Users\chang>adb push e:\data\2048.apk /data

3051 KB/s (24140275 bytes in 7.724s)

11、将远程设备上文件拉取到本地(pc)

adb pull

C:\Users\chang>adb pull /data/2048.apk d:\

2247 KB/s (24140275 bytes in 10.490s)

12、获取当前焦点的包名及activity名

C:\Users\chang>adb shell dumpsys window | findstr mCurrentFocus

mCurrentFocus=Window{4a9e5314 u0 com.lilysgame.calculatorjw/com.lilysgame.calculator.b.Es}

欢迎关注作者,如果觉得写的还不错,就给点个赞同、喜欢、收藏(后续持续更新)。

【全文手打 如需转载 请标注此出处】

linux挂载点 知乎,APP测试辅助神器之ADB相关推荐

  1. 技术分享 | App测试时常用的adb命令你都掌握了哪些呢?

    本文节选自霍格沃兹测试开发学社内部教材 adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的 ...

  2. linux挂载点 知乎,使用 Linux stat 命令创建灵活的文件列表 | Linux 中国

    stat 命令还可以用来创建文件列表.这些列表非常灵活,你可以选择包含上述任何或全部信息. (本文字数:3797,阅读时长大约:4 分钟) stat 命令提供了很多关于文件的详细信息. 它不仅提供了文 ...

  3. 面试必知道的APP测试adb命令

    查看当前连接设备: adb devices 如果发现多个设备: adb -s 设备号 其他指令 查看日志: adb logcat 安装apk文件: adb install xxx.apk 此安装方式, ...

  4. APP测试基本流程以及APP测试要点梳理,成功入职就靠它了

    目录:导读 前言 一.APP测试 二.操作系统 三.模拟器 四.APP测试实战 五.MonKey测试 六.APP的性能 七.兼容性 八.消息推送测试 九.渠道包测试 十.总结 前言 APP要做哪些测试 ...

  5. APP测试的面试准备

    1.app测试和web测试有什么区别? 从测试流程上来说没有区别,都需要进行测试计划设计,用例设计,用例执行,缺陷管理:测试类型基本相似,都需要进行功能测试,性能测试,安全测试,GUI测试等. 主要区 ...

  6. APP测试流程和测试点

    1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...

  7. 安卓APP测试知识大全【面试储备】

    一.安卓系统知识概述 1.1 安卓系统架构 应用程序层 应用程序框架层 系统运行库库层 系统内核层 四大组件和API 1.2 安卓权限系统 Android操作系统其实是一个多用户的linux操作系统, ...

  8. 安卓APP测试要怎么测,测试流程和重点有哪些?我来告诉你

    目录 一.安卓系统知识概述 1.1 安卓系统架构 1.2 安卓权限系统 1.3 认识adb与安卓间的通信 二.安卓APP测试流程图 三.安卓App测试点 3.1 UI测试 3.2 兼容性测试 3.3 ...

  9. App测试流程及测试点(个人整理版)-转

    单纯从功能测试的层面上来讲的话,APP 测试.web 测试 在流程和功能测试上是没有区别的. 系统架构方面: web项目,一般都是b/s架构,基于浏览器的 app项目,则是c/s的,必须要有客户端,用 ...

最新文章

  1. 16 系统测试之功能测试
  2. shell截取小数等
  3. 世界最厉害的14位程序员,你认识几个?
  4. Servlet其实是单例多线程
  5. python编程 迷你世界_迷你编程下载-迷你世界迷你编程下载 v1.0官方版--pc6下载站...
  6. Adobe illustrator 剪切蒙版圆形细胞培养皿 - 连载20
  7. Android系统性能优化(69)---含内存优化、布局优化
  8. Windows server 2012 hyper-v 的实时迁移
  9. 加快网站速度的最佳做法_(1)最小化http请求
  10. suse linux 11 sp3 的安装
  11. win7和手机共享文件和上网
  12. Hibernate 缓存机制浅析
  13. 二级C语言打不开考生文件夹,注意:下面出现的“考生文件夹”均为c:\wexam\25160001。 (1) 在考生文件夹下有一个工程文件sjt3.vbp - 赏学吧...
  14. JS异步:执行原理与回调
  15. 《UEFI内核导读》ACPI编程入门
  16. RO、RW和ZI的区别
  17. 服务器CPU占用率高,如何排查?
  18. 外国人怎么样学计算机,适合外国人学中文的打字法
  19. Linux中如何切换中文英文
  20. Tivoli Netcool/OMNIbus

热门文章

  1. java查看端口号被占用_如何查看端口号是否被占用
  2. 等待着融博的offer
  3. IOD2009:专访IBM软件BAPO总经理Ambuj
  4. 学拳录 第三金刚捣锥,庇身锤(含背折靠) 05.27 更新
  5. Android开发中NDK开发的作用
  6. 某国菜网利用N个漏洞挂马RootKit.Win32.RESSDT.dr等
  7. RBF径向基函数简介
  8. jsp_java毕业设计家用电器维修进销存系统
  9. 程序猿表白动画:爱心怦怦跳!
  10. 运营商如何才能实现让降费实实在在、消费者明明白白