目录
一、前言
二、下载与安装
三、原理
四、常用命令
获取当前应用的包名和界面名
文件传输
获取app的启动时间
获取日志信息
连接安卓设备
进入安卓手机系统Linux系统命令行中
安装app到手机
卸载手机app
获取当前电脑已连接的设备和对应的设备号
启动adb服务
停止adb服务
其他的命令查询
五、问题汇总
六、后记
一、前言
adb的全称是Android Debug Bridge(安卓调试桥),是一个命令行的调试工具,可以连接移动设备,使电脑与设备建立通信,通过执行一些命令,即可对所连接的设备进行操作。本文系博主在学习Appium之前所需的知识储备,仅以此文作记录。
二、下载与安装
- 资源地址:https://adbshell.com/downloads
- 直接安装即可,安装完后需要配置adb目录到环境变量中,如下图所示
- 打开命令行窗口,输入adb,如下图所示,即为配置成功。
三、原理
- 构成
- 客户端(Client):运行在开发的机器上面,即电脑,用于发送adb指令。
- 守护进程(Daemon):运行在调试设备上,即手机,用来接收客户端发送的指令,并作出相应的反应。
- 服务器(Server):运行在开发机器上,用来联系客户端与守护进程,即adb服务。
- 工作流程
- 首先,在客户端发送adb指令,到达了adb服务器
- adb服务器接收到指令后,发送给与其连接的调试设备
- 调试设备中的adb守护进程接收到了指令后,作出相应的动作后,将响应发送给adb服务器
- adb服务器反馈给客户端, 如下图所示
四、常用命令
-
获取当前应用的包名和界面名
- 包名(Package):用作指定唯一的应用程序。
- 界面名(Activity):用来标记当前应用程序下的界面,即手机屏幕上看到的界面。
指令:adb shell dumpsys window | findstr mCurrentFocus
-
文件传输
电脑 --> 手机
指令:adb push 电脑上的文件路径 手机上的文件夹路径
手机 --> 电脑
指令:adb pull 手机上的文件路径 电脑上的文件夹路径
-
获取app的启动时间
- 应用场景:工作中可能遇到这么个需求:“要求被测app打开的时间不能超过3秒”,此时,我们就要取获取app启动的时间。
- 设备启动app每个过程所消耗时间:
- 系统消耗时间:WaitTime - TotalTime
- 应用启动消耗时间:TotalTime - ThisTime
- 打开界面消耗时间:ThisTime , 如下图所示
指令:adb shell am start -W 包名/界面名(主页)
-
获取日志信息
- 应用场景:在测试移动设备过程中,遇到BUG后,会使用该指令来开启日志获取,从而定位BUG日志。
- 步骤:
- 先定位到要测的应用程序的触发bug界面
- 开启日志监听
- 触发bug
- 获取日志信息
指令:adb logcat
-
与安卓设备建立/断开通信
使用USB数据线连接电脑方式
指令:adb devices
使用无线的方式连接(电脑和手机必须在同网段下)
指令:adb connect 手机IP:端口号(不指定默认是5555)
断开连接
指令:adb disconnect 手机IP
-
进入安卓手机系统Linux系统命令行中
指令:adb shell
-
安装app到手机
指令:adb install 应用程序安装包(.apk后缀)
-
卸载手机app
指令:adb uninstall 应用程序包名(Package)
-
获取当前电脑已连接的设备和对应的设备号
指令:adb devices
-
启动adb服务
指令:adb start-server
-
停止adb服务
指令:adb kill-server
-
其他的命令查询
指令:adb --help
五、问题汇总
- adb使用无线连接的方式连接手机,连接失败,报错信息如下图所示。
解决方案:
1、先使用USB数据线连接设备和电脑
2、修改adb服务监听该设备的端口号,adb tcpip 8888
3、断开USB连接
4、使用无线连接指令,adb connect 手机IP: 8888
六、后记
该文章会随着博主的继续学习,持续更新。
如果知识点存在误区,还请各位博友在评论区中提出纠正。
如果侵权,请在第一时间联系我,立即删除!