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

时间:2018-10-23 05:30:50

标签: android screenshot

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

"Unexpected error while obtaining screenshot from device: EOF"

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

3 个答案:

答案 0 :(得分:12)

我最近遇到了这个问题-以前一切正常。 显然,它是几周前我迁移到SDK 26时开始的。这为我解决了: -关闭Studio -将Android \ sdk \ platform-tools中的adb.exe重命名为.saf -将较旧的adb.exe从Android \ android-sdk \ platform-tools复制到Android \ sdk \ platform-tools -重新启动Studio

因此,基本上将SDK 26 adb.exe替换为旧版本...

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

我以这种方式尝试工作:

  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,然后单击“运行”将捕获电话屏幕