从设备获取屏幕截图时出现意外错误:EOF

Unexpected error while obtaining screenshot from device: EOF

当我尝试在 Android Studio 中从我的一些项目中截取屏幕截图(通过按相机图标)时,我收到以下消息:

"Unexpected error while obtaining screenshot from device: EOF"

如果我在打开一个完全不同的项目后单击相机图标,我可以截取相同的图像。是否有一些与项目相关的损坏文件需要删除和替换?

就我而言,重新启动 Android Studio 对我有用。 转到 文件 --> 使缓存无效/重新启动 -> 无效并重新启动

但是对于重启后仍然有问题的人来说。如果您设置了 getActivity().getWindow().addFlags(LayoutParams.FLAG_SECURE);(通常用于避免截屏),它也会阻止您从 Android Studio 中截取屏幕截图,在获取屏幕截图时产生相同的意外错误。

我最近 运行 遇到了这个问题 - 之前一切正常。 显然它是在我几周前迁移到 SDK 26 时开始的。这为我修好了: - 关闭工作室 - 将 Android\sdk\platform-tools 中的 adb.exe 重命名为 .saf - 将旧的 adb.exe 从 Android\android-sdk\platform-tools 复制到 Android\sdk\platform-tools - 重启工作室

所以基本上把 SDK 26 adb.exe 替换成旧版本...

我试过这种方法:

  1. 创建 adb_capture.txt 内容

    REM ====================
    
    REM set varible _MyTime for filename
    FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (
    SET _MyTime=%%a%%b%%c%%d
    )
    REM adb root
    REM adb remount
    adb shell screencap -p /sdcard/Download/s1.png
    adb pull /sdcard/Download/s1.png
    adb shell rm /sdcard/Download/s1.png
    REM every file have different name by time
    rename s1.png %_MyTime%.png
    
    REM===============
    
  2. 将文件名更改为 adb_capture.bat 然后单击 运行 将捕获 phone 屏幕