【デバッグ接続】タッチやキー入力などの操作を自動化する「input」コマンド

Android端末をパソコンにUSB接続して行う「デバッグ接続」では、端末上でタッチ操作やキー入力を発生させて操作を自動化する「adb shell input」コマンドも利用可能だ。
BATファイルにコマンド群を記述しておけば、様々な定型の作業を自動化して手間を削減できる。
通常のタッチスクリーンでは、特定の場所を正確にタッチすることは困難だが、inputコマンドならば1ピクセルの狂いもなく正確なタッチが可能なので、狙撃型パズルなどのゲームを楽に進めるのにも役立つだろう。
画面タップやスワイプを自動実行
まず、タップさせたい場所の座標を調べよう。スクリーンショットを撮影して、画像ビューアの機能などで調べればいい。定番画像ビューアの「IrfanView」の場合、左ボタンをホールドすればタイトルバーにマウス位置の座標が表示されるぞ。
端末の画面が横向きモードになっている場合は、横向き画面における座標を指定する事になるので注意しよう。
まずはコマンドプロンプトでコマンドを実行して、意図した箇所がタップされるかを確認していこう。
単なるタップは「adb shell input tap 」に続いて横、縦の座標を半角スペース区切りで指定。
スワイプの場合は、「adb shell input swipe 」に続いて、開始座標、終了座標の4つの数値を半角スペース区切りで指定する。
Android 4.4以降では、swipeコマンドに5つめのパラメータを付けて、開始から終了までにかける時間をミリ秒(1000分の1秒)単位で指定することも可能だ。
意図した位置がタップされることを確認したら、メモ帳などのテキストエディタにコマンドを記述して、adb.exeのあるフォルダに拡張子「.bat」で保存しよう。
コマンドの間には、画面の切り替わりなどを待つために、Windowsの「timeout」コマンドを挟むといいだろう。「timeout /t 5」のように記述すれば、数字で指定した秒数だけ待ってから次の処理が実行されるぞ。
また、ゲームなどで一定の操作を繰り返させたい場合は、1行目に「:loop」、最後に「goto loop」と記述しておこう。「:」で始まる行はラベルになっており、gotoの行が実行されると、指定したラベルの行に処理が移るぞ。
出来上がったBATファイルをダブルクリックなどで実行すれば、自動操作が開始される。ウィンドウを閉じると自動操作は中断されるぞ。
キー操作を自動実行
設定画面など多くの標準的インターフェイスでは、「Tab」キー(キーコード=61)でボタンなどのUI部品に操作フォーカスを移動して「Enter」キー(キーコード=66)で実行するという操作方式が利用できるので、タップ座標を調べることなく自動操作可能だ。
まずは「adb shell input keyevent 61」を何回か実行して、押させたいボタンにフォーカスが移動するまでの回数を調べよう。「adb shell input keyevent」に続いて「61」をその数だけ列挙し、最後に「66」を加えれば、ボタンを押させるコマンドが出来上がるぞ。
また、方向キーの↑(19)、↓(20)、←(21)、→(22)で操作できるアプリも存在する。
なお、キーコード「26」で電源キーの操作も発生させられる。「adb shell am」コマンドでのアプリ起動と合わせれば、全ての操作を自動実行させることも可能だ。
端末のキーやキーボードのキーによる操作を仮想的に発生させるには、「adb shell input keyevent」に続いてキーコードを指定しよう。複数のキーコードを列挙して連続して押させることも可能だ。
キーコードは、キーを識別するための数値だ。キー名とキーコードの対応は、以下のページで調べられる。「Constants」の一覧で「KEYCODE_」で始まるリンクをクリックすると表示される詳細説明の欄に、「Constant Value:」として記載されているぞ。
・KeyEvent | Android Developers
「adb shell input keyevent 61」を実行したときに、このようにボタンなどがハイライト表示される場合、Tabナビゲーションに対応しているぞ。
関連記事
【デバッグ接続】設定で無効化できないアプリもAndroid 4.4以降では「ブロック」可能
【デバッグ接続】アプリのデータを残したままプログラムだけをアンインストール
【デバッグ接続】PC/端末間でファイルをコピーするpush/pull機能はファイル名の文字化けに注意
【デバッグ接続】パソコン上から端末内でアプリを起動する「am」コマンド
デバッグ接続による自動操作機能でゲームの退屈な稼ぎ作業も自動化
【デバッグ接続】BATファイルでよく使うコマンドを一発実行
[Androidの基本テク]基本操作を覚えよう!!アンドロイドのタッチ操作名
アプリ管理の「強制停止」は端末起動時などの自動実行も停止できる
【デバッグ接続】端末上のファイルをパソコン上から素早く整理
2014年11月07日11時26分 公開 | カテゴリー: 便利化・快適化 | キーワード:おすすめ, チップス | Short URL
ツイート
最新記事
- 肩に乗せるだけで音に包まれる!ウェアラブルネックスピーカー!
- 枕の下に置くピロースピーカー!Bluetooth接続でスマホから音楽を流しながら寝れる!
- 腕に巻いて使えるウェアラブルスピーカー!IPX6防水で急な雨にも安心!
- ミニモバイルバッテリーの新定番!折りたたみ式のLightningコネクター搭載!
- コネクター搭載の3in1モバイルバッテリー!iPhoneもAndroidもおまかせ!
- ケーブル不要でiPhoneもApple Watchも!5000mAhの大容量モバイルバッテリー!
- TSAロック付きスーツケースベルト! 頑丈なロックフックで安心な旅行を!
- 4in1の大容量モバイルバッテリー!スマホもタブレットもゲーム機も!
- 10000mAh大容量ワイヤレスモバイルバッテリー!Apple Watchの充電も出来る!
- コンパクトな手のひらサイズ。だけど、かなりタフ!どこでも使えるバックハンガー!
- ダンボールを挿すだけ!持ち運び出来るダンボールストッカー!
- コンパクトで高品質なケーブル!6in1のユニークデザインなケーブル!
- 洗練されたシンプルなボディバッグ!自由で快適な背負い心地!
- リラックスして座りやすい座椅子!回転するのでパソコンや読書等に最適!
- ゆったりくつろげる、至福の時間!肘つき座椅子!
- 究極進化、三刀流座椅子!ソファの座り心地みたいな回転座椅子!
- 磁力で自分でまとまる!フラット平形タイプのUSB-Cケーブル!
- 首と肩がホッとする枕!首肩温め機能でじんわり温まる!
- USB-Cケーブルだけで使える!アイリスオーヤマ製の27インチモニター!
- 15000mAh大容量モバイルバッテリー!ケーブル内蔵&プラグ付き!
- iPad専用磁気充電式タッチペン!ワイヤレス充電可能なスタイラスペン!
- 寒い季節には欠かせないアイテム!ドリンクを温められるカップウォーマー!
- ワンタッチで飲み物を温められる!デスクで使うのに最適!
- 柔らかい感触!心地良いさわり心地の充電式カイロ!
- 3in1防災対策の充電式カイロ!寒い季節を心地よく、あたたかく過ごそう!
- つけたら2秒ですぐ暖かい!2個セットの充電式カイロ!
- 左の手のひらにフィット!操作しやすいのせ心地のトラックボールワイヤレスマウス!
- 大容量収納可能なビジネスリュック!充実のポケット数!
- 通勤が快適な薄型なのに大容量!ノートパソコンも安全に収納!
- シンプルで洗練されたデザイン!どんな服装にも似合うビジネスリュック!