事实证明,adbd Insecure才是问题所在。当我禁用它(通过运行该应用程序并取消选中启用不安全的adbd),我就能够通过wifi正常连接了。
另外,对于那些感兴趣的人,一旦这个问题解决了,netstat -n确实显示了连接,即:
$ netstat -n
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN
tcp 0 0 **192.168.0.169:5555** 192.168.0.50:51178 ESTABLISHED
tcp6 0 0 ::ffff:127.0.0.1:47514 :::* LISTEN
Barry
我无法通过WiFi连接adb(通过USB连接可以正常使用)。
我已经阅读了各种帖子,但没有找到适合我的答案。
我尝试从我的笔记本电脑连接两个不同的设备(Samsung S4, Nexus 7 2013 (wifi)),在两种情况下都无法连接,出现相同的错误消息,只是具体设备的IP地址不同,例如:
无法连接到192.168.0.125:5555
这两个设备都使用towelroot、SuperSU和“adbd Insecure”进行了Root。我可以从我的笔记本电脑ping通192.168.0.125,并关闭了笔记本电脑的病毒保护和防火墙。
我按照标准步骤操作:
- adb kill-server
- adb usb
- adb devices
- adb tcpip 5555
- adb connect 192.168.0.125
我发现“netstat -n”应该显示一个新的套接字,并侦听端口5555(Can't connect to Android via ADB over wifi - Do I need root access?),但在我的情况下,这种情况并没有发生——它只显示默认端口5037上的本地主机连接。
root@deb:/ # netstat -n
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN
"getprop | grep adb" 的输出结果为:
$ adb shell
root@deb:/ # getprop | grep adb
getprop | grep adb
[init.svc.adbd]: [running]
[persist.radio.adb_log_on]: [0]
[persist.sys.usb.config]: [mtp,adb]
[ro.adb.secure]: [1]
[service.adb.tcp.port]: [5555]
[sys.usb.config]: [mtp,adb]
[sys.usb.state]: [mtp,adb]
root@deb:/ #
似乎系统已接收和处理了adb的“tcp 5555”命令,但由于某种原因无法使用该信息。既然这在两个设备上都发生了,我猜问题可能是以下原因之一:
1.我的笔记本电脑有问题; 2.两个设备存在共同问题(例如,已安装“adbd Insecure”); 3.出现了错误。
问题如下:
1.“netstat -n”不应该显示一个在192.168.0.125:5555监听的套接字吗? 2.这可能与使用“adbd Insecure”有关吗?
感谢任何/所有帮助。
谢谢, Barry