注:如果没有 root 权限也是可以试试,一般情况下,都需要 root 权限,才能连接成功。
1.需要确保你的开发 PC 和 Android 手机都连上了 wifi 并处于同一网段下;
2.开启 usb 调试,且用 usb 将 Android 设备连接到开发 PC 上;
3.进入到你的 Android SDK 的 platform-tools 目录下,
执行如下命令来重启 Android 设备中的 adbd 后台程序重新侦听 TCP 的指定端口:
$./adb tcpip 5555
注:5555 是默认端口,换成别的也没有必要,且这里一定要设一个端口的!
4.执行如下命令来建立 wifi 调试连接:
$./adb connect Android设备实际的IP地址[:通过 ./adb tcpip 指定的端口号]
注:IP 地址和端口号之间有一个冒号,如果端口号为 5555 的话,则可以省略。
如果出现 "unable to connect to IP 地址:端口号" 此类错误信息,则:
1)进入 Android 设备终端中:
$./adb shell
2)切换为 Android 设备的 root 用户:
$ su -
3)设置 adbd 服务的指定端口号:
# setprop service.adb.tcp.port 5555
注:5555 虽是默认的,这里也要设一下,也可以是自定义的,但是什么必要。
4)设置 adbd 服务后,重新运行它:
# start adbd
注:# stop adbd 命令将会停止 adbd ,只能重启了 Android 设备了。
5)再重启 Android 设备中的 adbd 后台程序重新侦听 TCP 的指定端口:
$ ./adb tcpip 5555
6)再建立 wifi 调试连接:
$ ./adb connect IP地址[:端口号]
7)出现如下字样,表示成功:
connected to IP地址[:端口号]
8)进入 Android 设备终端中:
$./adb shell
9)执行 netstat 命令,则可以看到 IP地址:端口号 已建立的状态:
代码如下:
Proto Recv-Q Send-Q Local AddressForeign AddressState
tcp00 0.0.0.0:5555 0.0.0.0:*LISTEN
tcp00 0.0.0.0:110000.0.0.0:*LISTEN
tcp 260 192.168.1.104:5555 192.168.1.102:40821ESTABLISHED
---------------------------------------------
Proto Recv-Q Send-Q Local AddressForeign AddressState
tcp00 0.0.0.0:110000.0.0.0:*LISTEN
注:分隔线(---)上面的是建立好的状态显示,下面的是没有建立好的状态显示。
9)执行查看设备命令的结果,也与 usb 的不同:
$ ./adb devices
List of devices attached
192.168.1.104:5555 device
--------------------------
List of devices attached
android123456 device
注:分隔线(---)上面的是 TCP 连接,下面的是 usb 连接。
*.执行如下命令来重启 Android 设备中的 adbd 后台程序重新侦听 usb :
代码如下:
$./adb usb
注:执行此命令后,再用 ./adb devices 查看设备就查不到了,
执行$ sudo ./adb kill-server 和 $ sudo ./adb start-server也不行,
只能重启 Android 设备了!
所以,正确的做法是:
1)进入 Android 设备终端中:
$./adb shell
2)切换为 Android 设备的 root 用户:
$ su -
3)设置 adbd 服务的指定端口号:
# setprop service.adb.tcp.port -1
注:关闭 wifi 调试,只需在此将端口号设为负壹(-1)即可。
4)以上三步做完后,即可执行 ./adb usb 切回 usb 连接调试方式。
*注:如果只是断开一下连接,只需运行如下命令:
$./adb disconnect