如何通過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