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厨な私としてはこーゆーのすげー好き!!