使用adb命令的前提是保证手机或者模拟器和电脑是连接状态。
使用adb connect 127.0.0.1:+端口号
命令,进行链接。
在某些情况下,可能需要终止然后再启动服务端进程,例如ADB不响应命令的时候,可以通过重启解决问题。
开启命令行终端执行命令:
(1)启动adb服务,adb命令: adb start-server
。
(2)关闭adb服务,adb命令: adb kill-server
。
演示:
- C:\Users\L>adb start-server
- * daemon not running; starting now at tcp:5037
- * daemon started successfully
- C:\Users\L>
提示:守护进程没有开启,现在通过5037端口开启守护进程服务。
注意
adb server
没有启动会自动调起。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>
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
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
—— 没有设备/模拟器连接。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
遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下