如何通过ADB获取Android屏幕截图?我曾尝试:Android事情:拍摄截图
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
和
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
如何通过ADB获取Android屏幕截图?我曾尝试:Android事情:拍摄截图
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png
和
adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png
我不能让screepcap
工作Android的东西开发者预览版。该命令产生一个0尺寸的文件。这就是说,我推荐以下两种选择:或者使用framebuffer或者录制视频(screenrecord
似乎可行),然后用适当的工具将其转换为图像。我会考虑的第一个选项,这样的步骤将是:
帧缓冲拉到主机。请注意,你需要开始adbd
为根,以通过权限检查:
adb root
adb pull /dev/graphics/fb0 screenshot
通过你喜欢工具转换原始的二进制图像。我正在使用ffmpeg。由于屏幕分辨率或像素格式不同,下面的命令可能不适用于您。如果是,请进行适当的更改。
ffmpeg -f rawvideo -pix_fmt rgb565 -s 800x480 -i screenshot screenshot.png
看来,因为在Android的东西旧有限的OpenGL版本,由Tatsuhiko Araihere描述没有可能通过ADB得到的截图,但您可以从Android的工作室录制视频(例如,或者通过ADB commands )并且比通过ffmpeg
从它抓帧,例如:
ffmpeg -i device-2017-01-23-193539.mp4 -r 1 screen-%04d.png
其中device-2017-01-23-193539.mp4
- 记录(通过Android Studio中)文件的名称。
您是否从Android Studio本身尝试过? – riggaroo
感谢您的想法,不幸的是它会引发一个错误:“从设备获取屏幕截图时出现意外错误:EOF” –
这是否与您的其他问题有关?即这是否与您的非工作屏幕插入或不插入?你有没有连接hdmi屏幕? – Blundell