『与善仁』Appium基础 — 4、常用ADB命令(一)
2021-07-21 11:18
591 查看
[toc]
在上一篇文章中说明了ADB命令的使用方式:
- 使用ADB命令的前提是保证手机或者模拟器和电脑是连接状态。
- 使用
adb connect 127.0.0.1:+端口号
命令,进行链接。
本篇文章详细说明一下常用ADB命令的操作。
1、启动和关闭ADB服务
在某些情况下,可能需要终止然后再启动服务端进程,例如ADB不响应命令的时候,可以通过重启解决问题。
开启命令行终端执行命令:
- 启动ADB服务,ADB命令:
adb start-server
。 - 关闭ADB服务,ADB命令:
adb kill-server
。
演示:
1)启动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没有启动会自动调起。
2)关闭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 attached127.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 attachedcf264b8f 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 attachedcf264b8f 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
遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备
7、发送文件到手机
ADB命令:
adb push 电脑端文件路径\需要发送的文件(全名) /手机端存储的路径
提示:
- Android手机存储卡的根目录都是
sdcard
目录。(固定死的) - 注意目录中斜杠的方向。
示例:
将桌面的
test.txt文件发送到手机
sdcard目录下。
C:\Users\L>adb push C:\Users\L\Desktop\test.txt /sdcard C:\Users\L\Desktop\test.txt: 1 file pushed, 0 skipped. 0.0 MB/s (36 bytes in 0.003s) C:\Users\L>
提示:我们可以把文件直接拖拽到命令行终端中,该文件的路径和文件名会自动生成。
我们再到Android模拟器中的文件管理器查看
test.txt文件是否接收到。
打开文件的内容也是一样的。
8、从手机拉取文件
ADB命令:
adb pull 手机端的路径/拉取文件名(全名) \电脑端存储文件路径
示例:
将手机
/sdcard目录中的
test.txt文件,发送到电脑桌面
C:\Users\L>adb pull /sdcard/test.txt C:\Users\L\Desktop /sdcard/test.txt: 1 file pulled, 0 skipped. 0.0 MB/s (36 bytes in 0.002s) C:\Users\L>
桌面上会接收到
test.txt文件。
注意:练习的时候,文件名尽量不要使用中文,可能测试效果不好。
相关文章推荐
- 移动测试基础 Android 常用 adb 命令总结
- adb基础常用命令总结
- 移动测试基础 Android 常用 adb 命令总结
- Android核心基础——S01E05_第一个应用程序和adb常用命令
- android 基础 adb常用命令
- appium+python adb常用命令分享
- Linux 基础及常用命令
- ADB常用命令记录
- MongoDB常用命令查询基础类
- Linux基础入门 vim常用命令详解
- 常用的adb命令
- MySQL 基础常用命令
- Linux基础(三)常用命令2
- android基础adb常用操作
- adb 常用命令、adb shell 常用命令
- Android 常用 adb 命令总结
- Redis基础-常用命令
- adb常用的命令,增加工作效率
- ADB常用命令
- Linux 基础一---操作系统&常用命令