スマホの画面を次々とスクリーンショットで残したいのに手作業で連打するのは面倒で時間がかかりますよね。
この記事を読むとMacからADBを使ってAndroidの画面を自動で連続撮影するやり方が、実際に動くコマンドや使えるスクリプトとともにやさしく身につきます。手間を減らしてテストやドキュメント作成がぐっと楽になります。
| 項目 | 内容 |
|---|---|
| 実践的なコマンドとテンプレート | すぐに使えるadbコマンドと自動化スクリプトをステップごとに紹介します。 |
| 失敗しやすいポイント対策 | 接続維持やファイル名の付け方、画面回転の扱いなど現場で使えるコツを盛り込みます。 |
| 応用例と自動化のアイデア | 連続撮影を定期実行する方法や画像をまとめる便利ワザまで実例で説明します。 |
これから一緒に手を動かして設定していけば、数分で連続スクショを自動化できますので気楽に進めてみてください。
Android博士最初は戸惑うかもしれませんが落ち着いて一つずつ進めれば必ずできるようになります。困ったときは落ち着いてログを見れば原因が分かることが多いですよ。
MacからADBでAndroidの画面を連続スクリーンショットする方法


MacからADBを使ってAndroidの画面を連続で撮る方法を、やさしく案内します。テスト中の操作記録やUIの変化を追いたいときに便利です。準備と手順を順番に追えば誰でも実行できます。
基本は端末がMacにADBでつながっていることを確認し、端末内でscreencapを実行してファイルをMacへ持ってくる流れです。作業はシンプルなので落ち着いて進めてください。
- 簡易ループでadb shell screencapとadb pullを繰り返す方法。すぐ試せて柔軟に調整できます。
- scrcpyやAndroidStudioの録画機能を使う方法。表示をそのまま録画したいときに便利です。
- ファイル名自動インクリメントと適切なsleepを入れて連続撮影の安定性を上げる工夫。
MacでADB接続を確認して連続撮影用の基本スクリプトを使う方法


まずはADB接続の確認です。Macのターミナルでadb devicesを実行して端末が一覧に出ていることを確認してください。出ていない場合はUSBの接続やデバッグ許可を見直してください。
for i in $(seq 1 100);do adb shell screencap -p /sdcard/shot_$i.png && adb pull /sdcard/shot_$i.png ./shots/ && adb shell rm /sdcard/shot_$i.png; sleep 1;done
Macのターミナルでadb devicesで端末接続を確認する場所とコマンド
| 項目 | 内容 |
|---|---|
| コマンド | adb devices |
| 実行場所 | Macのターミナル(ホームディレクトリなど任意の場所) |
| 備考 | 一覧にdeviceと表示されれば接続済みです。unauthorizedなら端末の許可ダイアログを確認してください。 |
Macのターミナルでscreencapとadb pullをループさせる具体的なワンライナー例
for i in $(seq 1 100);do adb shell screencap -p /sdcard/shot_$i.png && adb pull /sdcard/shot_$i.png ./shots/ && adb shell rm /sdcard/shot_$i.png; sleep 1;done。このままターミナルで実行すると連続で撮影してローカルに保存します。
shotsフォルダを作成してadb devicesで接続確認を行ってください。撮影間隔はsleepの秒数を変更して調整できます。
Android端末上でTaskerを使って一定間隔で連続スクリーンショットを撮る方法


Taskerを使えばAndroid端末だけで一定間隔の連続スクリーンショットを自動で撮れます。PCやADBを常時つなぐ必要がないので手軽に画面の記録を残したいときに便利です。
手順はシンプルで時間トリガーのプロファイルを作り、スクリーンショットを撮るタスクを割り当てて保存先を指定します。端末やAndroidのバージョンによりTakeScreenshotアクションが使えるかRunShellでscreencapを使うかが変わる点に注意してください。
設定時はバッテリーとストレージの負荷を意識してください。短い間隔だと端末が熱くなったり容量を急速に消費するので、まずは長めの間隔で動作を確かめることをおすすめします。



はじめは設定項目が多く感じるかもしれませんが一つずつやれば動きますよ焦らず試してみてください設定がうまくいかないときはログを見て原因を探すと解決が早いです
Taskerで時間トリガーを作りスクリーンショットを自動保存する手順


まずTaskerを開いてProfilesタブを押します。新規プロファイルでTimeを選びFromに開始時刻を入れRepeatの欄で間隔を分単位で指定します。必要ならToで終了時刻も指定できます。
次にEnterTaskを作成してActionを追加します。ActionにはTakeScreenshotを使うかCodeのRunShellでscreencapコマンドを実行し保存先パスを指定します。事前にフォルダを作る処理を入れておくと安心です。
Taskerで時間や間隔のプロファイルを作成する手順と注意点
Profilesタブで新規作成→Timeを選択→Fromに開始時刻を設定しRepeatに間隔を入れる。必要ならToで終わりの時間を指定する。
EnterTaskを新規作成してスクリーンショット用のタスクを登録する。ExitTaskは不要なら空のままでかまわない。
短い間隔はバッテリーとストレージを圧迫するので間隔を適度に設定する。Taskerをバッテリー最適化から除外すると動作が安定しやすい。
Taskerのアクションでスクリーンショットを撮って保存先を指定する具体的な設定
Android11以上ではTaskerのTakeScreenshotアクションが手軽です。権限を求められたら許可してください。rootがある端末ではRunShellでscreencapを使うと確実に保存できます。
保存先は/sdcard/Pictures/TaskerShotsなど分かりやすいフォルダを使います。ファイル名には時間変数を入れて上書きを避けると安全です。
タスクの先頭でFile→CreateDirを使い保存フォルダを作成しておきます。テスト実行して実際に画像が保存されるか必ず確認してください。
Androidで画面録画してMacでフレームを連続画像に変換する方法


Androidの画面を動画で保存してMacでフレームごとに画像化する手順をやさしく紹介します。コマンドを順に実行するだけで手元に連番画像が並びます。初めてでも戸惑わないように小さな失敗を避けるコツも交えて伝えます。
手順はシンプルでAndroidで録画しadb pullで取り出しffmpegで連番PNGに変換します。所要時間や画質はコマンドのオプションで簡単に調整できます。
この方法はUI確認やバグの再現記録にとても便利です。短いクリップから長い操作まで用途に合わせて使えます。録画の時間制限やファイル名の付け方などの注意点も後で具体的に示します。



まずは短い操作を録ってみてください。コマンドは真似して少しずつ変えるだけで感覚がつかめますので気負わず試してみましょう。
adbで画面録画を保存してMacでffmpegでフレーム抽出する流れ


流れは3ステップに分かれます。Androidでscreenrecordで動画を作りadb pullでMacに取り出してffmpegでフレームを抽出します。
adb shell screenrecord /sdcard/demo.mp4
adb pull /sdcard/demo.mp4 .
ffmpeg -i demo.mp4 -vf fps=30 frame_%04d.png
Androidでadb shell screenrecordを使って動画ファイルを作る具体的なコマンド
adb shell screenrecord /sdcard/demo.mp4 を使います。オプションとして–size WIDTHxHEIGHTや–bit-rate 値を指定すると画質やファイルサイズを調整できます。
録画中はadb shell接続の状態でCtrl+Cを押すと停止します。端末側で自動停止したときは別名で再録画すると連続で保存できます。
Macにpullした動画をffmpegで連番PNGに変換するコマンドとファイル名の付け方
| 項目 | 内容 |
|---|---|
| 基本の変換コマンド | ffmpeg -i demo.mp4 -vf fps=30 frame_%04d.png を使います。fpsは出力するフレーム数を決めるパラメータです。 |
| ファイル名の付け方 | frame_%04d.png の%04dがゼロ埋めの連番です。必要に応じて桁数を変えると連番がそろいます。 |
| あると便利なオプション | 出力フォルダを用意してから実行すると整理しやすいです。高フレームレートはファイル数が増えるので注意してください。 |
応用: 撮った連続スクリーンショットを整理して活用する方法


連続スクリーンショットを撮ったあとは整理して活用すると助かります。ファイル名やメタデータを少し工夫するだけで検索や共有がぐっと楽になります。
ここでは手早くできる実用的なやり方を紹介します。タイムスタンプや端末情報を付けてからGIFやPDFにまとめる流れを中心に説明します。
- 画像を連番でリネームしてタイムスタンプや端末情報を付ける方法。
- ImageMagickやffmpegで連番画像をGIFにする方法。
- ImageMagickやimg2pdfでPDFにまとめ配布用に最適化する方法。



撮りっぱなしでも大丈夫ですが一手間で見返しや共有がぐっと楽になります焦らず順を追って進めましょう。
端末固有の情報を含めるときは個人情報に注意してください。
連番画像にタイムスタンプや端末情報を付けてGIFやPDFにまとめるやり方


連番画像にタイムスタンプや端末情報を付ける方法は主に二つあります。画像上に文字として焼き込む方法とメタデータに書き込む方法があり用途で使い分けます。
GIFやPDFにまとめるときはフレームレートや解像度を意識すると出来上がりが良くなります。共有目的ならファイルサイズと画質のバランスを調整してください。
MacでImageMagickやffmpegを使って連番画像をGIFにする具体コマンド
HomebrewでImageMagickとffmpegを入れて連番画像がimg0001.pngのように揃っていることを確認します。
まずパレットを作り品質基準を作ります。パレット生成は色の再現とファイルサイズの両立に効きます。
生成したパレットを使ってGIFを作ります。必要ならgifsicleでさらに最適化して容量を下げてください。
Macで連番画像をPDFにまとめる手順と配布用に最適化するポイント
画像を番号順に揃え解像度を統一します。sipsやImageMagickで一括リサイズすると後の処理が安定します。
ImageMagickのconvertやimg2pdfで連番画像をPDFにまとめます。ページ向きや余白を確認してから作成してください。
GhostscriptなどでPDFを圧縮し品質設定を調整します。配布先に合わせて画質とファイルサイズのバランスを取ってください。
よくある質問


- 連続スクリーンショットを始める前に何を用意すればよいですか。
USBデバッグを有効にしてPCにADBを入れておくことが基本です。デバイスが接続されたらadbdevicesで認識を確認しておくと安心です。
- ファイルが上書きされてしまう対策はありますか。
ファイル名にタイムスタンプや連番を付けて保存すると上書きを防げます。シェルループでdateコマンドやprintfを使うと自動化が簡単です。
- 連続で撮ると遅く感じますが改善方法はありますか。
adbexec-outscreencap-pを使いローカルで受け取ると転送オーバーヘッドを減らせます。さらにsleepで間隔を調整したり画面解像度を下げて撮る手も有効です。
- Androidのバージョンや権限で失敗することはありますか。
screencapはroot不要で多くの端末で動きますが端末やOSの制限で撮れないケースがあります。画面収録で動画を作ってからffmpegでフレームを抜き出す方法も覚えておくと安心です。
- Windowsでスクリプトを書く際の注意点は何ですか。
PowerShellやバッチはリダイレクトの挙動が異なるためadbexec-outをそのまま使うときは注意が必要です。WSLやGitBashを使うとUnix系の書き方がそのまま使えて扱いやすいです。
まとめ


ここまで読んでくれてありがとう、今回はAndroidをPCからADBで連続スクリーンショットする方法を実体験に基づいてやさしくまとめました。方法は大きく2つで、端末に連番で保存してからまとめて取り出すやり方とPCに直接パイプで受け取って即保存するやり方があります。どちらもUSBデバッグを有効にし接続を安定させることが前提で用途に応じて選んでください。
実作業ではファイル名にタイムスタンプを入れたり撮影間隔をsleepで調整したりすると後から探しやすくなります。バッテリーやストレージの残量に気をつけて長時間撮影時は充電を確保し画面消灯設定を調整しておいてください。最後にbashやPowerShellで簡単なスクリプトを書いておくと繰り返し作業が格段に速くなりトラブル対応もしやすくなります。



最初は緊張するかもしれませんが小さな手順を一つずつ試せば必ず上手くいきます、まずは短い間隔で数枚撮って動作確認をしてみてくださいね。
USBデバッグを有効にすると外部から操作可能になるため作業後は設定をオフにすることを忘れないでください。
