当前位置:网站首页>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
遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下


边栏推荐
- Review of drug discovery-03-molecular design and optimization
- 对比学习中的4种经典训练模式
- Qu'est - ce que la numérisation? Qu'est - ce que la transformation numérique? Pourquoi les entreprises choisissent - elles la transformation numérique?
- 205. 同构字符串
- Interviewer asked: Inheritance of JS
- 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
- Implementation of timed tasks in laravel framework
- 要搞清楚什么是同步,异步,串行,并行,并发,进程,线程,协程
- 205. isomorphic string
- Intranet penetration with FRP
猜你喜欢

【嵌入式基础】串口通信

How to optimize the "message" list of IM

Solve storage problems? WMS warehouse management system solution

Numpy----np.tile()函数解析

树莓派实现温控风扇智能降温

零基礎多圖詳解圖神經網絡

Réseau neuronal pour la solution détaillée Multi - diagrammes de fondation zéro

ShardingSphere-proxy-5.0.0建立mysql读写分离的连接(六)

声网 VQA:将实时互动中未知的视频画质用户主观体验变可知

Adobe Premiere基础-声音调整(音量矫正,降噪,电话音,音高换挡器,参数均衡器)(十八)
随机推荐
Adobe Premiere Basics - common video effects (cropping, black and white, clip speed, mirroring, lens halo) (XV)
要搞清楚什么是同步,异步,串行,并行,并发,进程,线程,协程
【sylixos】NEW_ Example of type 1 character drive
fiddle如何使用代理
Lmsoc: a socially sensitive pre training method
I/o limit process and CPU limit process
TIA botu_ Concrete method of making analog input and output Global Library Based on SCL language
[Yocto RM]8 - OpenEmbedded Kickstart (.wks) Reference
Import the data table in MySQL into Excel
MySQL - function
如何阅读一篇论文
Web3 技术初体验以及相关学习资料
766. 托普利茨矩阵
嵌入式必学,硬件资源接口详解——基于ARM AM335X开发板 (上)
【牛客討論區】第四章:Redis
centos8-操作记录-命令版-yum-redis-mysql-nacos-jdk
Prometeus 2.35.0 新特性
Self supervised learning and drug discovery
TI AM3352/54/59 工业核心板硬件说明书
Transformer论文逐段精读