当我尝试从Android Studio中的某些项目中制作屏幕截图(通过按下相机图标)时,会收到以下消息:
"Unexpected error while obtaining screenshot from device: EOF"
如果我在打开完全不同的项目后点击相机图标,我可以拍摄相同图像的截屏。是否与该项目相关的某些损坏文件需要删除并替换?
当我尝试从Android Studio中的某些项目中制作屏幕截图(通过按下相机图标)时,会收到以下消息:
"Unexpected error while obtaining screenshot from device: EOF"
如果我在打开完全不同的项目后点击相机图标,我可以拍摄相同图像的截屏。是否与该项目相关的某些损坏文件需要删除并替换?
我最近遇到了这个问题 - 之前一切都很正常。 显然,几周前迁移到SDK 26后它开始出现了。以下方法对我很有效: - 关闭Studio - 将Android\sdk\platform-tools中的adb.exe重命名为.saf - 从Android\android-sdk\platform-tools复制旧的adb.exe到Android\sdk\platform-tools中 - 重新启动Studio
因此,基本上是用旧版本的ADB替换SDK 26的ADB ...
getActivity().getWindow().addFlags(LayoutParams.FLAG_SECURE);
(通常用于避免截屏),它也会阻止您从Android Studio获取截屏,生成相同的错误“在获取截屏时出现意外错误”。我尝试了这种方法,它有效:
创建adb_capture.txt文件并添加以下内容:
REM ====================
REM 为文件名设置变量_MyTime
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 每个文件根据时间戳命名
rename s1.png %_MyTime%.png
REM===============
将文件名更改为adb_capture.bat,然后运行该文件即可捕获手机屏幕。