前提条件
-
~/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