カブトムシの壺

消しゴム付き鉛筆

Androidアプリの画面のキャプチャをコマンド一発でPCに転送する

Androidアプリを開発してて、端末の画面キャプチャをPCに送りたい場面って多々あると思います。

僕はそうしたい時はPushbulletを使ってたのですが、もっと良い感じにコマンド一発で出来ないかなぁなんて思っていたらありました。

Android Debug Bridge (adb) | Android Studio

ちゃんと公式を見ようぜって話でした。本当にいつもいつもお世話になります。

スクリーンショットを撮る

端末がadb接続されていることを確認し、以下のコマンドを打ちます。

$ adb shell screencap /sdcard/screen.png

/sdcard/screen.pngというのがスクリーンショットした画像ファイルが端末に保存されるところなので、パスとかファイル名は良い感じにしたら良いと思います。

スクリーンショットを端末からPCに送る

$ adb pull /sdcard/screen.png ~/Desktop/

  • (pullしてきた画像は適当にDesktopに配置する感じにしました。)

あとは、上記のコマンドをまとめたエイリアスなど作って、ファイル名をタイムスタンプにしたりすればコマンド一発でスクショがPCに転送出来そうです。Amazingですね。

追記(2018/01/29)

  • 僕は、.zshrcファイルに以下のエイリアスを書いて使うようにしています。
alias cap='adb shell screencap /sdcard/`date +%Y%m%d%H%M`.png && adb pull /sdcard/`date +%Y%m%d%H%M`.png ~/Desktop/capture-files'