adb sever did not ack,failed to start daemon
时间: 2025-07-29 09:19:53 浏览: 10
<think>我们正在解决ADB服务器无法启动的问题,具体错误是"adb server did not acknowledge"和"failed to start daemon"。根据用户提供的引用,我们注意到引用[1]提到安装ADT插件,但这与当前问题关联不大;引用[2]提到文件权限,这提示我们可能要考虑ADB相关文件的权限问题。因此,我们将结合之前回答中的解决方案和新的思路(如文件权限)来提供更全面的解答。
解决方案将包括以下步骤:
1. 强制重启ADB服务(包括彻底终止进程)
2. 检查端口占用(5037端口)
3. 检查ADB相关文件的权限(特别是~/.android目录和adb可执行文件)
4. 更新ADB版本或重新安装平台工具
5. 检查防火墙和杀毒软件
6. 设备端操作(如重置ADB授权)
注意:由于用户提到的是服务启动失败,我们将重点放在电脑端的服务启动问题上。
另外,根据引用[2]的提示,我们考虑在Linux/macOS上检查adb相关文件的写权限,在Windows上则检查是否有足够的权限运行adb。
以下是详细的解决方案:</think>### ADB Server 启动失败解决方案("adb server did not acknowledge" 和 "failed to start daemon")
针对 ADB 服务无法启动的问题,以下是系统级解决方案:
---
#### 1. **强制终止并重启 ADB 服务** [^1]
```shell
# Windows
taskkill /F /IM adb.exe && adb start-server
# macOS/Linux
sudo pkill -9 adb && adb start-server
```
> 成功时显示:`* daemon started successfully`
---
#### 2. **解决端口冲突(5037 端口)**
ADB 默认使用 5037 端口,冲突会导致服务启动失败:
```shell
# 检测占用
netstat -ano | findstr :5037 # Windows
lsof -i :5037 # macOS/Linux
# 释放端口(示例 PID=1234)
taskkill /PID 1234 /F # Windows
kill -9 1234 # macOS/Linux
```
---
#### 3. **修复文件权限问题** [^2]
ADB 相关文件权限错误会导致服务启动失败:
```shell
# macOS/Linux 修复权限
sudo chmod +x /path/to/adb # ADB 可执行文件
sudo chmod -R 755 ~/.android/ # 配置文件目录
# Windows 以管理员身份运行命令提示符
右键点击命令提示符 > 以管理员身份运行
```
---
#### 4. **清除残留配置文件**
删除损坏的 ADB 配置:
```shell
rm ~/.android/adbkey* # macOS/Linux
del %USERPROFILE%\.android\adbkey* # Windows
```
重启服务后会自动生成新密钥
---
#### 5. **更新 ADB 工具**
```shell
# 通过 SDK Manager 更新
sdkmanager --update
sdkmanager "platform-tools"
# 或手动下载最新版:
# https://developer.android.com/studio/releases/platform-tools
```
---
#### 6. **深度排查**
| **问题类型** | **解决方案** |
|--------------------|-----------------------------------------------------------------------------|
| 防火墙拦截 | 允许 `adb.exe` 通过防火墙(控制面板 > Windows Defender 防火墙 > 允许应用) |
| 杀毒软件冲突 | 临时禁用或添加 `adb.exe` 到白名单 |
| USB 驱动异常 | 重新安装[官方 USB 驱动](https://developer.android.com/studio/run/win-usb) |
| 系统环境变量错误 | 检查 PATH 是否包含 ADB 路径:`echo %PATH%`(Win)或 `echo $PATH`(macOS/Linux) |
> ✅ **验证命令**:`adb devices` 成功时应显示设备序列号
---
#### 7. **设备端修复**
在 Android 设备上执行:
```shell
adb shell settings put global adb_enabled 1 # 强制启用ADB
adb tcpip 5555 # 重启ADB端口监听
```
阅读全文
相关推荐


















