WiFi连接手机adb connect

在adb的说明文档中提到:

“An ADB transport models a connection between the ADB server and one device
or emulator. There are currently two kinds of transports:
– USB transports, for physical devices through USB
– Local transports, for emulators running on the host, connected to
the server through TCP”

大意是说,在物理设备上,adb是通过USB连接到设备上的,而在模拟器上,adb是通过TCP协议连接到设备上的。实际上在物理设备上,也可以让adb 通过TCP协议来连接设备(当然前提条件是你的设备要有网口)。首先看一下下面这段源代码,出自system/core/adb/adb.c

1,  确认本机PC 没有任何adb 设备连接,包括模拟器和usb连接, 即 使用

“adb devices” 命令后, 列表显示为空, 这个是为了后面敲命令容易一些

2,  将远程android设备接入wifi, 并查看其IP地址:设置—〉无线或网络—〉WLAN设置—〉按menu键并选择“高级”选项—〉IP 地址  例如192.168.2.11

3,  本机command 命令下执行 ping  192.168.2.11, 如果ping成功,说明可以连接

4,  执行 adb connect 192.168.2.11

如果显示连接成功,则可继续执行后面的操作;如果不成功,如显示:

unable to connect to 192.168.2.11:5555

有可能是设备监听端口的问题,则可以在手机终端执行如下命令:

su  //获取root权限

setprop service.adb.tcp.port 5555   //设置监听的端口,端口可以自定义,如5554,5555是默认的

stop adbd   //关闭adbd

start adbd   //重新启动adbd

手机终端的下载程序可以在这里下载: “终端模拟器”

执行这个的前提是你手机可以root权限,如果没有root权限仍然不能执行su

获得root权限的方法很多,手机型号不同,获取方法也有差别,网上很多方法,这里不再细述(对调试开发者,获得root权限是非常必要的)

5,  adb connect ip 成功以后可以执行原来usb连接时的所有命令,如adb install, adb logcat等。