当前位置:网站首页>Appium自动化测试基础 — ADB常用命令(一)
Appium自动化测试基础 — ADB常用命令(一)
2022-06-28 00:04:00 【测试-八戒】
使用adb命令的前提是保证手机或者模拟器和电脑是连接状态。
使用adb connect 127.0.0.1:+端口号命令,进行链接。
1、启动和关闭adb服务
在某些情况下,可能需要终止然后再启动服务端进程,例如ADB不响应命令的时候,可以通过重启解决问题。
开启命令行终端执行命令:
(1)启动adb服务,adb命令: adb start-server。
(2)关闭adb服务,adb命令: adb kill-server。
演示:
- 启动adb服务
C:\Users\L>adb start-server
* daemon not running; starting now at tcp:5037
* daemon started successfully
C:\Users\L>提示:守护进程没有开启,现在通过5037端口开启守护进程服务。
注意
- adb命令默认绑定端口为5037 ,若端口被别的应用绑定则无法启动adb服务。
- 一般无需手动执行此命令,在运行adb命令时若发现
adb server没有启动会自动调起。 - 关闭adb服务
关闭adb服务没有任何提示。

2、查看adb版本
adb命令:adb version
C:\Users\L>adb version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as F:\***\android-sdk-windows\platform-tools\adb.exe
C:\Users\L>3、指定adb server的网络端口
adb命令:adb -P <port> start-server(临时换一个端口号开启adb服务)
默认端口为 5037。
C:\Users\L>adb -P 5039 start-server
* daemon not running; starting now at tcp:5039
* daemon started successfully
C:\Users\L>提示:
netstat -ano查询进程ID。taskkill /f /t /im 进程名杀掉进程。
如:taskkill /f /t /im nginx.exe
4、查询已连接设备/模拟器
adb命令:adb devices
前提:Android模拟器已开启。
演示:
(1)直接执行adb devices命令
C:\Users\L>adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
C:\Users\L>从上面可以看到,如果我们没有启动adb服务,且直接执行adb devices命令,会先自动帮我们开启adb服务,在执行adb devices命令,结果没有查询到已链接的模拟器。
(2)使用adb服务链接Android模拟器
执行命令adb connect 127.0.0.1:21503(注:不同的模拟器的端口号不同)。
C:\Users\L> adb connect 127.0.0.1:21503
connected to 127.0.0.1:21503
C:\Users\L>(3)再次执行adb devices命令,查询已连接设备
C:\Users\L>adb devices
List of devices attached
127.0.0.1:21503 device
C:\Users\L>我们就可以看到adb服务已经链接的设备了
说明:
输出格式为 [serialNumber] [state]。
serialNumber 即我们常说的 SN码,state 有如下几种:
offline—— 表示设备未连接成功或无响应。device—— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。no device—— 没有设备/模拟器连接。
常见异常输出:
- 没有设备/模拟器连接成功。
List of devices attached - 设备/模拟器未连接到 adb 或无响应。
List of devices attached cf264b8f offline
5、获取安卓系统版本
adb命令:adb shell getprop ro.build.version.release
演示:
C:\Users\L>adb shell getprop ro.build.version.release
7.1.2
C:\Users\L>6、为命令指定目标设备
如果有多个设备/模拟器连接,则需要为命令指定目标设备。
| 参数 | 含义 |
|---|---|
| -d | 指定当前唯一通过 USB 连接的 Android 设备为命令目标 |
| -e | 指定当前唯一运行的模拟器为命令目标 |
| -s <serialNumber> | 指定相应 serialNumber 号的设备/模拟器为命令目标 |
在多个设备/模拟器连接的情况下较常用的是 -s <serialNumber> 参数,serialNumber 可以通过 adb devices 命令获取。如:
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
10.129.164.6:5555 device输出里的 cf264b8f、emulator-5554 和 10.129.164.6:5555 即为 serialNumber。
比如这时想指定 cf264b8f 这个设备来运行 adb 命令获取屏幕分辨率:
adb -s cf264b8f shell wm size
又如想给 10.129.164.6:5555 这个设备安装应用(这种形式的 serialNumber 格式为 <IP>:<Port>,一般为无线连接的设备或 Genymotion 等第三方 Android 模拟器):
adb -s 10.129.164.6:5555 install test.apk
遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下


边栏推荐
- frp实现内网穿透
- Web3 technology initial experience and related learning materials
- [Yocto RM]3 - Yocto Project Releases and the Stable Release Process
- Maimai hot post: Why are big factories keen on making wheels?
- Adobe Premiere基础-编辑素材文件常规操作(脱机文件,替换素材,素材标签和编组,素材启用,便捷调节不透明度,项目打包)(十七)
- Set集合用法
- 树莓派实现温控风扇智能降温
- 解决ionic4 使用hammerjs手势 press 事件,页面无法滚动问题
- 766. toplitz matrix
- [Yocto RM] 2 - Yocto Project Terms
猜你喜欢
![[description] solution to JMeter garbled code](/img/13/01682d08cbcb47be5d7c21304ef901.png)
[description] solution to JMeter garbled code

Solon 1.8.3 release, cloud native microservice development framework

How to optimize the "message" list of IM

基于可学习尺寸自适应分子亚结构的药物相互作用预测

【嵌入式基础】串口通信

Ten thousand words long article understanding business intelligence (BI) | recommended collection

766. toplitz matrix

Solve storage problems? WMS warehouse management system solution

Review of drug discovery-03-molecular design and optimization

一张图弄懂 MIT,BSD,Apache几种开源协议之间的区别
随机推荐
MapReduce elementary programming practice
Some problems in awk
面试官问:能否模拟实现JS的new操作符
什么是数字化?什么是数字化转型?为什么企业选择数字化转型?
[Yocto RM]8 - OpenEmbedded Kickstart (.wks) Reference
Neural network of zero basis multi map detailed map
The research group of Xuyong and duanwenhui of Tsinghua University has developed an efficient and accurate first principles electronic structure deep learning method and program
Intranet penetration with FRP
How to read a paper
Arrays.asList()坑
Data analysts too hot? Monthly income 3W? Tell you the true situation of this industry with data
Maimai hot post: Why are big factories keen on making wheels?
Numpy----np.reshape()
Review of drug discovery-02-prediction of molecular properties
Implementation of timed tasks in laravel framework
PV operation primitive
[elt.zip] openharmony paper Club - memory compression for data intensive applications
评价——秩和比综合评价
【ELT.ZIP】OpenHarmony啃论文俱乐部—数据密集型应用内存压缩
9. Openfeign service interface call