Roman Nurik(github:romannurik)さんのenvリポジトリにAndroidのコマンドに関する知見があった話
Android Asset Studioとかを作ったGoogleのRoman Nurikさん。
Roman Nurik(github:romannurik)さんのenvってリポジトリを眺めてたらAndroidに関するコマンドがいくつかあった。
その中で「これは使えるかもなー」と思ったものを紹介。
紹介したもの以外でもためになりそう or 知見!!っぽいのはあるので見てみるといいよー
android-resize - 端末の解像度を変更する adb shell wm sizeのShell Script
adb shell wm sizeはとりあえず端末の解像度を変更できるすげーもん!だと思ってもらえればいい。
確かAndroid 4.3くらいから使えるやつだった気がするなーどうだろー。内部ではWindowManagerゴニョゴニョしてるだけ。
以下のQiitaとか見てもらえればいいかな。
んで、そのadb shell wm sizeのラッパー的なものがandroid-resizeってShell Scriptで書いてあった。
中身は以下のような感じ。
#!/bin/sh
if [[ ("$1" != "4" && "$1" != "5" && "$1" != "7" && "$1" != "reset") ]]; then
echo "Usage: `basename $0` <size (4|5|7|reset)> <optional orientation (land|port)>" >&2
exit
fi
adb root
PREFIX="adb shell wm size"
#PREFIX="adb shell am display-size"
case "$1" in
4)
W=1280
H=768
;;
5)
W=1280
H=720
;;
7)
W=1920
H=1200
;;
reset)
COMMAND="$PREFIX reset"
esac
if [ -z "$COMMAND" ]; then
case "$2" in
port)
COMMAND="$PREFIX ${H}x${W}"
;;
*)
COMMAND="$PREFIX ${W}x${H}"
;;
esac
fi
echo $COMMAND
$COMMAND
env/android-resize at master · romannurik/env · GitHub
数字の割り当てや解像度の数値は自分に合った感じでカスタマイズすれば使えそう!
ちなみに、adb rootがあるのが気になるけど、使うならこれは消しておいた方がいいね...
android-screen-gif - screenrecordの結果をanimation gifに変換してくれるShell Script
Android 4.4から追加されてるscreenrecordを使って、その結果のmp4をanimation gifに変換するものがandroid-screen-gifってShell Scriptで書いてあった。
android-screen-gifって打って、端末で録画したい操作をして、終わりにしたかったらターミナルでなんかキーを打つと録画した内容をanimation gifにしてくれるすぐれもの。
中身は以下のような感じ。
#!/bin/bash NAME=screencap if [[ "$1" != "" ]]; then NAME="$1" fi adb shell screenrecord --bit-rate=20M "/sdcard/$NAME.mp4" & PID=$! echo $PID read -n1 -r -p "Press any key to stop" key kill -SIGHUP $PID sleep 0.2 adb pull "/sdcard/$NAME.mp4" && gifify -np 360:640 -r 16 -o "$NAME" "$NAME.mp4" adb shell rm "/sdcard/$NAME.mp4"
env/android-screen-gif at master · romannurik/env · GitHub
mp4をanimation gifに変換するためにgififyというものを使ってるけど、多分以下を使ってるんじゃないかなーと推測。
gififyのオプションがそのままだと動かなかったので以下のように-npオプションを-pオプションに変えたらうまく動いた。
adb pull "/sdcard/$NAME.mp4" && gifify -p 360:640 -r 16 -o "$NAME" "$NAME.mp4"
あと、sleepが0.2だとうまく動かなかったのでsleep 1に変えたらうまく動いた。それでもさらにダメそうだったらここのsleep伸ばしてみるといいかも。
これと似たことができるGUI Toolを使っていつもやってたけど、こっちの方がターミナルでできるに楽かもなー。
まとめ
adb厨、adb shell厨な私としてはこーゆーのすげー好き!!