一般情况下,只要Android设备和主机处于同一局域网(互联网也行,不过要求Android设备有公网Ip或者上层路由做好端口映射),并且打开了相关开发者选项(如USB调试等,国内ROM自定义太多了,各家表述不一样),adb connect ip即可成功建立连接,但有时部分设备会遇到以下情况:
unable to connect to 192.168.0.100:5555: cannot connect to 192.168.0.100:5555: No connection could be made because the target machine actively refused it. (10061)
通过排查发现,这可能是adbd后台进程没监听相关端口引起的,解决方案如下:
顺便提一下,如果adb push等操作时提示open: Permission denied,这时候显然不能使用adb shell su来提权,需要在PC端先执行adb root,这时候连接会断开(或者尝试adb remount),然后重新连接即可
- 首先取得ROOT权限,在Android设备中执行(需要终端模拟器,自行安装,下同) su 即可
- 检查adbd进程是否存在,执行命令 ps | grep adbd
- 如果输出里没有发现adbd进程,则执行 start adbd 手动启动监听进程,然后重试看看能不能连接
- 如果有该进程或者依然无法连接,则先执行 stop adbd 关闭监听进程
- 然后执行 setprop service.adb.tcp.port 5555 重置监听端口 (-1则关闭网络调试,重启adbd生效)
- 执行 start adbd 重启监听进程,这时候执行 netstat –apn 应该能够看到监听的5555端口
- 回到PC进行连接,adb connect IP地址[:端口号]
- 如果依然不能连接,需要排除PC端的问题,在PC上执行 adb kill-server 然后重试
来源:CSDN
作者:RLib
链接:https://blog.csdn.net/rrrfff/article/details/7228720