如何查看通过adb连接Android设备的主机IP及管理连接?
针对ADB连接冲突问题的解决方案
1. 终止所有已开放的ADB连接
因为设备已root,最直接的方式是重启设备端的ADB守护进程(adbd),强制断开所有当前连接:
su -c "setprop service.adb.tcp.port -1 && stop adbd && start adbd"
如果之后需要重新开启TCP连接(默认5555端口),可执行:
su -c "setprop service.adb.tcp.port 5555 && stop adbd && start adbd"
也可以精准定位并杀死ADB相关连接进程:
# 列出所有关联ADB的连接进程 su -c "ss -tulnp | grep adbd" # 根据输出的PID杀死对应进程 su -c "kill <PID>"
2. 获取已连接电脑的IP地址
root权限下可通过网络状态命令提取连接到ADB端口的远程IP:
- 使用
ss命令(多数Android设备支持):
su -c "ss -nt | grep :5555"
输出示例:ESTAB 0 0 192.168.1.100:5555 192.168.1.200:12345,其中192.168.1.200就是连接的电脑IP。
- 或者使用
netstat(部分设备预装):
su -c "netstat -nt | grep 5555"
在root应用中,你可以执行以上命令,解析输出字符串提取IP后返回给用户。
3. 提取ADB连接事件的logcat日志
ADB守护进程(adbd)默认会将连接、断开等事件输出到logcat,通过过滤adbd标签即可查看:
logcat -s adbd
典型日志内容:
I adbd : accepted connection from 192.168.1.200:12345
I adbd : closing connection to 192.168.1.200:12345
你可以在应用中监听adbd标签的logcat输出,或定期提取日志内容实现连接事件的记录与查询。
内容的提问来源于stack exchange,提问作者Mark Mercer
相关产品推荐
相关产品推荐

