🔍 USB设备 vs 无线设备(ADB中的本质区别)

对比项USB连接设备无线连接设备(TCP/IP)
显示在 adb devices 中的标识硬件序列号(如 f3ec0fc48fafc16f)IP:端口(如 192.168.1.100:5555)
连接方式插上USB线,ADB自动识别(需驱动)必须先用 adb tcpip 5555 开启端口,再用 adb connect IP:PORT 手动连接
连接命令无需 adb connect,直接识别必须 adb connect,是无线特有的
断开方式拔掉USB线adb disconnect IP:PORT 或 adb disconnect
传输稳定性高速、稳定受Wi-Fi影响,可能延迟
适用场景刷机、传大文件、底层调试摆脱线缆,适合屏幕投影或日常调试

📌 单设备 vs 多设备(命令用法的唯一区别)

无论设备是USB还是无线,ADB命令本身完全一样,区别仅在于:

  • 只有一个设备时:直接敲 adb shell、adb push、adb pull,无需额外参数。
  • 有多个设备时:所有命令都必须加 -s 指定设备标识(标识就是 adb devices 显示的那一串)。

也就是说:

  • 单设备:adb push <本地> <远程>
  • 多设备:adb -s <设备标识> push <本地> <远程> (标识可以是序列号或IP:端口)

同样的,adb pull、adb shell 等也是如此。

⚠️ 容易混淆的关键点(你的总结里没错,但我要强调)

  1. adb connect 只用于无线设备,不能用于USB设备(更不能接USB序列号)。
  2. adb push 是推送(电脑→设备),adb pull 是拉取(设备→电脑),两者在多设备时都需要加 -s,你文件中的示例只给了单设备,但实际多设备时用法一样,只是多了 -s。
  3. 无线连接后,所有ADB命令和USB设备完全通用,只是设备标识变了(IP:端口),所以多设备时 adb -s 192.168.1.100:5555 push ... 完全可行。