千家信息网

App自动化测试必备之adb使用

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1.1 Adb介绍adb(android debug bridge)是android sdk自带的一个工具。Adb是用来连接android设备和PC端的桥梁,通过adb工具,用户可以在PC端对手机进行
千家信息网最后更新 2025年12月02日App自动化测试必备之adb使用

1.1 Adb介绍

adb(android debug bridge)是android sdk自带的一个工具。

Adb是用来连接android设备和PC端的桥梁,通过adb工具,用户可以在PC端对手机进行全面的操作。

Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能。

adb可以跨平台,也就意味着在不仅在windows,在mac/linux平台都可以来使用adb命令,只需要下载配置对应平台软件包即可。

adb有三大部分组件:

客户端(client)

运行在你自己的电脑上,可以通过shell来调起一个客户端

服务器(server)

运行在电脑的后台,负责管理client和damon进行通信

守护进程(damon)

运行在模拟器或者android设备的后台
Adb工具位于SDK目录下的platform-tools目录,有跟adb相关的三个文件:

之前我们在搭建自动化的环境的时候其实就已经将adb部署好了,我们直接在windows的dos环境中使用了(通过在运行输入cmd即可进入),所以接下来我们就开始介绍adb使用方式。

tips:adb都是通过命令来操作android设备的

1.2 Adb常用命令系列

adb --help

查看帮助手册

adb devices

查看连接到PC的android设备,这个是我们使用频率最高的命令之,这里有一点大家需要注意:

Android模拟器和真实的android设备连接是有区别的,如果你是使用的genymotion模拟器,因为在模拟器已经设置了

所以genymotion模拟器会自动帮你加载连接adb,我们直接通过adb devices命令就可以检测到,但是如果你是使用的夜神/海马玩等模拟器,这些不会自动帮你连接上的。
所以需要我们手动通过命令adb connect连接,如夜神就是adb connect 127.0.0.1:62001

(这里的127.0.0.1表示本地的ip地址,任何电脑都有这个地址,62001表示夜神模拟器的端口号)。

如果你是海马玩模拟器的话,那么端口号改成26944即可。

如果是真实的android设备(手机/平板电脑):

1、需要确保你的手机已经通过USB线连接到电脑

2、通过驱动软件,驱动精灵/驱动人生等,将你的android手机驱动安装好

3、进入到手机,找到设置->关于手机->点击五下版本号->将对应的开发者选项打开(注意:由于手机型号不同,如小米,魅族,华为这些,可能打开方式稍微有差异,如果不清楚,自己百度怎么打开自己手机的开发者选项)

4、退出到上一级菜单,进入到开发者选项,找到USB调试模拟器将其打开

5、还有最后一步,一般来说会出来一个确认调试的对话框,我们也需要勾选上,不然adb命令用不了

adb shell

登录设备shell(命令行的人机界面),在当前环境中就可以使用到很多linux相关命令了,如:cd、ls、cp等等,相当于远程执行命令的

adb pull <手机路径> <电脑路径>

从手机中拉取信息放到本地电脑上,手机路径可以通过adb shell进入到shell环境中,通过cd、ls这些命令找到对应的文件,如将QQ这个apk拉取放到D盘下的test目录


adb push <本机路径> <手机路径>

从本地推送信息到手机上去,如

adb install *.apk

为了获取apk的安装包所在地址,可以直接把apk拖到cmd窗口获取,返回success就说明安装成功了


adb install -r *.apk

保留数据和缓存文件,重新安装apk

adb shell dumpsys activity | find "mFocusedActivity"

查看前台应用包名和类名(这里大家先大概了解下什么是包名:android系统给到应用的标识)

adb uninstall <包名>

卸载某个应用,后面就需要加上对应的包名

adb uninstall -k <包名>

卸载应用但保留数据和缓存文件

adb kill-server

终止adb服务

adb start-server

启动adb服务,通常在adb出现问题时,结合kill-server一起来重启adb服务

adb shell pm list packages

列出当前系统里面所有的包名
-s 列出系统apk路径及包名
-3 列出用户apk及包名

adb logcat

抓取android日志,这个也是对我们非常有用的命令,通过logcat日志,在app发生异常时,如crash/无响应这种,都可以在logcat里面定位到相应的信息

adb connect/disconnect

通过WiFi进行远程调试,此时我们就可以不需要通过USB线将手机连接到电脑了,但是有如下注意事项:

1、确保手机和电脑处于同一网络中(连接的同一个路由器)

2、提前通过adb tcpip 5555来确定通讯的端口号

3、再通过adb connect 加上你自己手机的ip地址来进行连接

如果想要取消连接,直接使用adb disconnect命令即可

命令 手机 模拟器 设备 电脑 应用 文件 开发 地址 工具 环境 服务 运行 驱动 信息 口号 开发者 目录 系统 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北广数据库 苏宁软件开发工程师工资 印度软件开发平均工资 数据库复制表结构代码 软件开发干不下去了该怎么办 成都乐育网络技术有限公司 网络安全科技馆靠谱吗 苏州起橙网络技术有限公司 软件开发的技术协议 如何用cmd连接数据库 计算机网络技术与社会需求 csc网络安全上岗证 浏览器发了请求不显示服务器响应 电算化数据库课程设计报告 uid 数据库 软件开发项目政府技术评审 服务器降低企业运营成本 一个软件开发正常流程 垃圾邮件服务器查询 考勤管理系统数据库设计 为什么要做数据库的设计 湖北网络安全培训课程 公式链接其他表格的数据库 中国邮政数据库最新成果 汉中市国家网络安全宣传 深圳失控网络技术有限公司 对峙2为什么总是连接不到服务器 一般网络安全系统都主要采用 女孩子学软件开发好吗 江苏pdu服务器电源排行榜
0