Android logo

На девайсе под управлением Android сделать скриншот статического (!) изображения можно скопировав информацию из фреймбуфера:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
adb pull /dev/graphics/fb0 fb.bgra
adb pull /dev/graphics/fb0 fb.bgra
adb pull /dev/graphics/fb0 fb.bgra

Расширение bgra нужно для convert из набора ImageMagick, что бы он мог понять каков порядок ARGB. Я пробовал снимать скриншоты на девайсе от Sony, там порядок был BGRA. Возможно он таков на всех устройствах.

В цикле снимать скриншоты можно так:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
while [ 1 ] ;
do adb pull /dev/graphics/fb0 fb-`date +"%H-%M-%S"`.bgra ; sleep 1 ;
done
while [ 1 ] ; do adb pull /dev/graphics/fb0 fb-`date +"%H-%M-%S"`.bgra ; sleep 1 ; done
while [ 1 ] ;
  do adb pull /dev/graphics/fb0 fb-`date +"%H-%M-%S"`.bgra ; sleep 1 ;
done

Конвертация:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
convert -size 480x854 -depth 8 fb-*.bgra screenshot-%05d.png
convert -size 480x854 -depth 8 fb-*.bgra screenshot-%05d.png
convert -size 480x854 -depth 8 fb-*.bgra screenshot-%05d.png