背景
ひょんなことから、Android StudioのLogcatタブが表示されなくなってしまい、スクショが取れなくなってしまいました。
今までLogcatで撮影 > 保存した画像を開く > サイズ変更
を手動で行なっており手間に感じていたため、これを機にスクリプトで撮影からサイズ変更まで行うようにしてみました。
実装
takeScreenshot.sh
adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png Downloads/screenshot.png
adb shell rm /sdcard/screen.png
sips -Z 600 Downloads/screenshot.png
./takeScreenshot.sh
をターミナルで実行することで、Downloadsフォルダにスクリーンショットが保存されます。
実行権限が付いていない場合はchmod +x takeScreenshot.sh
で権限を付与してください。
追記(2020/08/04)
上記のスクリプトだと連続でスクショを撮ると前の画像が新しい画像に上書きされてしまいます。
連続して複数画面のスクショを撮るにはちょっと不便だったので、ファイル名にタイムスタンプを含めるように改良しました。
takeScreenshot.sh
adb shell screencap -p /sdcard/screen.png
fileName=screenshot_$(date "+%Y%m%d%H%M%S").png
adb pull /sdcard/screen.png Downloads/${fileName}
adb shell rm /sdcard/screen.png
sips -Z 600 Downloads/${fileName}