ADB 本机服务端口
5037 是 Android 调试桥服务端进程在本机监听的端口。执行 adb 命令时,命令行工具先连接本机的服务端进程,再由它去和设备或模拟器通信。这个端口只监听本机回环地址,是开发机上 adb 能正常工作的前提,不需要也不应该对外开放。
基本信息
| 服务 | Android Debug Bridge server |
|---|---|
| 协议 | TCP,默认 5037,仅监听回环地址 |
| 用途 | adb 命令与手机、模拟器之间的中转 |
| 调整方式 | 环境变量 ANDROID_ADB_SERVER_PORT |
| 安全等级 | 仅本机开发环境 |
典型使用场景
- 日常开发中用 adb 安装应用、查看日志
- 自动化测试脚本依赖 adb 与设备交互
- 排查 adb 命令报无法连接守护进程
- 端口被占用时改用其他端口启动服务端
- 安全核查确认该端口没有被改成对外开放
排查端口占用
排查端口占用
netstat -ano | findstr :5037
adb kill-server; adb start-server
adb devices
# 需要换端口时先设置环境变量再启动服务端
# $env:ANDROID_ADB_SERVER_PORT=15037; adb start-serverADB 相关端口
| 项目 | 端口 | 说明 |
|---|---|---|
| 本机服务端 | 5037 | adb 与设备通信的中转站 |
| 网络调试设备侧 | 5555 | 设备开启网络调试后监听 |
| 监听地址 | 回环地址 | 正常情况不对外提供访问 |
| 端口冲突 | 可配置 | 被占用时 adb 命令会直接失败 |
常见故障:安全软件把这个端口判为可疑端口并拦截时,adb 命令会一直报无法连接守护进程,模拟器则长期显示离线。排查这类问题先看本机端口状态,再看安全软件的拦截日志。
这个端口只应监听本机回环地址。若被改成对外开放监听,同网段其他主机就能借它操作你连接的设备,等于把调试能力共享给了整个网络。
环境提示:不同工具链可能自带各自的调试桥版本,版本冲突会导致服务端反复重启,表现为命令时好时坏。统一工具版本能省去大量反复排查。
排查提示:多个开发工具同时运行时容易争抢这个端口,遇到连接失败先看端口占用进程,再决定是重启服务端还是改用其他端口。