LoginSignup
4
1

More than 1 year has passed since last update.

androidのスクリーンショットやムービーを取得するためのシェルスクリプト

Last updated at Posted at 2018-06-21

前提条件

  • ~/binディレクトリにPATHが通っていること
  • androidのadbコマンドがインストールされていること

スクリーンショットを取得するシェルスクリプト

スクリプトの作成

ターミナルで以下のコマンドを実行してください。

cat << 'EOF' > ~/bin/adbscreencap
#!/bin/sh
# 引数1: ファイル名
if [ $# -eq 1 ]; then
    FILE_NAME=$1
else
    FILE_NAME=android-`date "+%Y%m%dT%H%M%S"`.png
fi 

adb shell screencap -p /sdcard/${FILE_NAME}
adb pull /sdcard/${FILE_NAME}
adb shell rm -f /sdcard/${FILE_NAME}
# 縦横比を保ちつつ「縦幅」指定でリサイズ
#sips --resampleHeight 600 ${file_name} -o ${file_name}
echo "Created ${FILE_NAME}"
EOF
chmod +x ~/bin/adbscreencap

使い方

# キャプチャ取得
$ adbscreencap
/sdcard/screen-20201015T150943.png: 1 file pulled, 0 skipped. 16.6 MB/s (386305 bytes in 0.022s)
..
screen-20201015T150943.png created

# 表示
$ open screen-20201015T150943.png

ムービーを取得するシェルスクリプト

スクリプトの作成

ターミナルで以下のコマンドを実行してください。

cat << EOF > ~/bin/adbscreenrecord
function stopped () {
  sleep 1
  adb pull /sdcard/record.mp4
  echo "record.mp4 created"
}
trap 'stopped' 2
rm -f record.mp4
adb shell rm -f /sdcard/record.mp4
echo '録画を開始しました。録画を終了する場合は、 Ctrl+C を押下してください'
adb shell screenrecord /sdcard/record.mp4
EOF
chmod +x ~/bin/adbscreenrecord

使い方

# ムービー作成
$ adbscreenrecord
録画を開始しました。録画を終了する場合は、 Ctrl+C を押下してください
/sdcard/record.mp4: 1 file pulled. 11.9 MB/s (3292999 bytes in 0.265s)
record.mp4 created

# 表示
$ open record.mp4

gifを取得するシェルスクリプト

事前準備

ffmpegをインストールしてください。

brew install ffmpeg

スクリプトの作成

ターミナルで以下のコマンドを実行してください。

cat << EOF > ~/bin/adbscreengif
function stopped () {
  sleep 1
  adb pull /sdcard/record.mp4
  ffmpeg -i record.mp4 -vf scale=320:-1 -r 24 record.gif
  echo "record.mp4 and record.gif created"
}
trap 'stopped' 2
rm -f record.mp4
adb shell rm -f /sdcard/record.mp4
echo '録画を開始しました。録画を終了する場合は、 Ctrl+C を押下してください'
adb shell screenrecord /sdcard/record.mp4
EOF
chmod +x ~/bin/adbscreengif

使い方

# gif取得
$ adbscreengif
録画を開始しました。録画を終了する場合は、 Ctrl+C を押下してください

# 表示
$ open record.gif

参考

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1