コマンドラインからAndroidのスクリーンショットをPCデスクトップに取得する方法

プログ用に実機やエミュレータ上でスクリーンショットや
キャプチャを撮る機会が多いので。

20130802-004301

adb コマンドで簡単に取得出来ます。


adb shell screencap -p /sdcard/foo.png

android - Read binary stdout data from adb shell? - Stack Overflow android - Read binary stdout data from adb shell? - Stack Overflow

ついでに、パソコン上に持ってきちゃいましょう。


adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png

Random Stuff: Grab Android screenshot to computer via ADB Random Stuff: Grab Android screenshot to computer via ADB

もひとつついでにブログ用にリサイズしちゃいましょう。
最近のGooglebotはレスポンスの速度に厳しいです。


convert -resize x480 before.jpg after.jpg

ImageMagickで画像をリサイズする時のメモ [俺の備忘録] ImageMagickで画像をリサイズする時のメモ [俺の備忘録]

WiFi経由で実機からエミュレータ扱いで。


$ adb -h
Android Debug Bridge version 1.0.31
 -a  - directs adb to listen on all interfaces for a connection
 -d  - directs command to the only connected USB device
       returns an error if more than one USB device is present.
 -e  - directs command to the only running emulator.
       returns an error if more than one emulator is running.

あたしの場合は、
これらをまとめて全部一緒に一括実行とか
しています。


#!/bin/sh -x

DATE_TIME=`date +"%Y%m%d-%H%M%S"`
FILE_NAME=${DATE_TIME}.png

adb -e shell screencap -p /sdcard/${FILE_NAME}
cd ~/Desktop
adb -e pull /sdcard/${FILE_NAME}
adb -e shell rm /sdcard/${FILE_NAME}

mogrify -resize 300x -unsharp 2x1.4+0.5+0 \
        -colors 65 -quality 100 -verbose \
        ~/Desktop/${FILE_NAME}

意外と便利につかえます、これ。
DDMSとかGUI起動は不要となります。


関連ワード:  Androidおすすめツール便利な設定初心者開発