这篇记录只保留最常用的一条链路:先确认 adb server 状态,再定位 5037 端口是谁占了。
常见现象
遇到下面这类问题时,优先怀疑 adb server 没起来,或者 5037 端口被别的进程占用:
adb devices卡住adb start-server启动失败- 提示无法绑定本地端口
排查步骤
1. 直接以前台方式启动 adb server
adb nodaemon server
这一步的目的,是先看 adb 自身能不能正常启动,以及有没有更直接的报错信息。
2. 检查 5037 端口占用
Windows 下可以先看端口:
netstat -ano | findstr "5037"
如果有输出,说明已经有进程占住了 adb 默认端口。
3. 根据 PID 反查进程名
tasklist | findstr "PID"
把上一步查到的 PID 替换进去,就能确认是哪个进程在占用端口。
4. 结束冲突进程后重试
确认确实不是自己需要保留的进程后,再结束它,然后重新执行:
adb start-server
adb devices
处理建议
- 如果是旧 adb 进程残留,结束后重启 adb 即可
- 如果是 Android Studio、模拟器或第三方工具占用,要先确认是否可以关闭对应程序
- 不建议在没确认进程来源前直接批量 kill,避免误伤正在使用的调试工具
参考截图
FEATURED TAGS
Git
Cheat Sheet
Markdown
Tools
C++
Linker
Thread
Linux
TCP
Network
GDB
Debug
leetcode
链表
WSL
Ubuntu
Windows
Linux Kernel
GCC
Android
adb
Troubleshooting
Profiling
Sanitizer
glibc
MySQL
Database
Python
curl
Build
ELF
clang-format
CMake
Graphviz
Performance
vcpkg
Protobuf
排查
速查
内存
STL
调试
性能分析
性能
读书笔记
方法论
架构
网络
Timer
mbedTLS
TLS
安全
负载均衡
脚本
工具
LRU
二叉树
BST
中序遍历
回溯
二分查找
优先队列
排序
旋转数组
jenkins
部署