adbコマンドとは
android開発者にはお馴染みですが、それ以外の人にとってはあまり知名度が高くないかもしれません。
Android Debug Bridge(adb)は、デバイスと通信するための多用途コマンドライン ツールです。adb コマンドを使用すると、アプリのインストールやデバッグなど、さまざまなデバイス操作を実行できます。また、デバイス上でさまざまなコマンドを実行する際に使用する Unix シェルにアクセスできるようになります。
---------- androidstudioユーザーガイドより
ざっくりいうとPCからAndroid端末に直接コマンドを送って色々出来ます。
尚、開発者オプションからUSBデバッグを有効にしておく必要があります。
端末を操作するコマンド
テキスト入力
adb shell input text hogehogehoge
端末でキーボードが表示されている状態で入力すると選択欄にhogehogehoge
で指定した箇所を入力できます。
長い文字列を手入力したくない時や、複数の端末で同じ文字を入れる必要があるときに便利。
尚、デバイスのキー入力設定でそのまま入力されてしまうので注意が必要です。
同時に複数端末を接続している場合はこのままだとエラーが出るので、
adb -s device_id shell input text hogehogehoge
のような感じで端末を指定することで実行可能です。
device_id
についてはadb devices
コマンドで調べてください
設定画面の呼び出し
adbコマンドではアプリの起動も可能なため、コマンドで設定アプリを呼び出すことも可能です
adb shell am start -a android.settings.SETTINGS
SETTINGS
の箇所はWIFI_SETTINGS
やDISPLAY_SETTINGS
などに変更することで各設定画面を直接呼び出すことも可能です。
設定できるパラメータについてはこちらを参照
ディスプレイを操作する
ディスプレイのタップ、スワイプなどもadbから可能です
adb shell input touchscreen tap X Y
adb shell input swipe X1 Y1 X2 Y2
座標については左上が(0, 0)で右方向、下方向に対して値が増えていきます
組み合わせると・・・?
アニメーションや画面遷移の時間を考慮して適度にsleepの処理を追加したスクリプトを組んでやれば設定の自動化とかできたり。
adb devices
で取ってきたdevice_idをいい感じにしてやれば複数端末のまとめて設定もできますね。
おわりに
開発の場面ではよく(?)利用するadbコマンドですが、調べてみると想像以上に様々なことができたりします。
限られた場面ではありますが、有益なものも多いので継続して色々まとめていきたいところです。