List of devices attached * daemon not running; starting now at tcp:5037 adb: CreateProcessW failed: 系统找不到指定的文件。 (2) * failed to start daemon error: cannot connect to daemon
时间: 2025-05-24 14:58:07 浏览: 19
### ADB Daemon 启动失败的原因分析与解决方案
当遇到 `daemon not running` 和 `CreateProcessW failed` 的错误提示时,通常表明 ADB 工具未能成功连接到其后台服务进程 (Daemon),或者存在环境配置问题。以下是可能原因及其对应的解决方法:
#### 可能原因一:端口被占用或未正确监听
ADB 默认使用 5037 端口来运行其守护程序 (Daemon)。如果该端口已被其他应用程序占用,则可能导致无法正常启动。
- **验证端口状态**: 使用命令 `netstat -aon | findstr 5037` 检查是否有其他进程占用了此端口[^1]。
- **更改默认端口号**: 如果确认冲突,可以通过修改 ADB 配置文件或将设备切换至 USB 调试模式绕过网络依赖。
#### 可能原因二:路径变量设置不正确
Windows 或 Linux 中 PATH 环境变量缺失 Android SDK Platform Tools 的目录地址会阻止系统定位 adb.exe 文件位置。
- **修正路径配置**:
```bash
export PATH=$PATH:/path/to/your/sdk/platform-tools/
```
对于 Windows 用户来说,在系统属性 -> 高级选项卡下编辑环境变量并加入相应路径即可生效[^2]。
#### 可能原因三:权限不足或软件损坏
某些情况下由于管理员权限不够或是安装包本身存在问题也会引发此类异常行为。
- **尝试重新安装SDK工具集**, 并确保拥有足够的磁盘空间以及稳定的互联网连接完成下载过程.
- **以管理员身份执行终端窗口**, 这样可以赋予更高层次的操作许可给当前 session.
```cmd
adb kill-server && adb start-server
```
以上操作能够强制重启整个 service chain 来修复潜在的状态紊乱情况 [^3].
---
### 提供的脚本辅助排查
下面给出一段简单的批处理(.bat)代码用于自动化检测和解决问题:
```batch
@echo off
setlocal enabledelayedexpansion
:: Check if adb exists in path
where /q adb || (
echo Error: 'adb' command not found. Please ensure it's added to your system PATH.
exit /b 1
)
:: Attempt stopping any existing servers first
adb kill-server >nul 2>&1
:: Start new server instance and capture output
adb start-server >output.txt 2>error.txt
if exist error.txt (
type error.txt
:: Additional checks here...
del error.txt
) else (
echo Server started successfully!
)
endlocal
pause
```
通过保存上述内容为 .bat 文件形式双击运行可以帮助快速判断基础层面是否存在明显障碍因素。
---
阅读全文
相关推荐


















