### 问题分析
`screencap` 通常是 Android 设备通过 ADB(Android Debug Bridge)执行屏幕截图的命令。若无法下载截图文件,可能由以下原因导致:
1. **权限问题**(未开启 USB 调试/存储权限)
2. **路径错误**(保存路径不存在或权限不足)
3. **ADB 版本过旧**(命令兼容性问题)
4. **设备连接异常**(USB 连接不稳定)
---
### 解决方案
#### 1. 检查 ADB 连接
bash
adb devices
确认设备已连接并显示为 `device`(若显示 `unauthorized`,需在手机上允许 USB 调试授权)。
---
#### 2. 使用正确命令格式
尝试直接保存截图到本地(避免手动操作):
bash
adb exec-out screencap -p > screenshot.png
或指定设备路径后拉取文件:
bash
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png
---
#### 3. 修复权限问题
- 确保手机已开启 **USB 调试**(开发者选项中)。
- 部分设备需额外开启 **“允许模拟点击”** 或 **“文件传输模式”**。
---
#### 4. 检查存储路径
- 若手动指定路径,确保路径存在且有写入权限(如 `/sdcard/`)。
- 可尝试更换路径:
bash
adb shell screencap -p /sdcard/Download/screenshot.png
---
#### 5. 更新 ADB 工具
下载最新版 [Platform-Tools](https://developer.android.com/studio/releases/platform-tools) 替换旧版本。
---
#### 6. 替代方案
- 使用 `adb shell screenrecord` 录制屏幕后导出视频。
- 通过系统自带快捷键截图(如 `电源键+音量下键`)。
---
### 常见错误处理
| 错误类型 | 解决方法 |
|-------------------------|-----------------------------------|
| `adb: error: failed...` | 重启 ADB 服务:`adb kill-server && adb start-server` |
| `Permission denied` | 检查路径权限或更换保存目录 |
| 截图文件损坏 | 使用 `-p` 参数指定 PNG 格式 |
---
### 附:ADB 常用命令
bash
# 查看设备列表
adb devices
# 进入设备 Shell
adb shell
# 重启设备
adb reboot