【デバッグ接続】タッチやキー入力などの操作を自動化する「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ファイルでよく使うコマンドを一発実行
【デバッグ接続】ワンタッチで端末を再起動するrebootコマンド
【デバッグ接続】端末上のファイルをパソコン上から素早く整理
[Androidの基本テク]基本操作を覚えよう!!アンドロイドのタッチ操作名
2014年11月07日11時26分 公開 | カテゴリー: 便利化・快適化 | キーワード:おすすめ, チップス | Short URL
ツイート
最新記事
- MagSafe対応のモバイルバッテリー!iPhone12ユーザーにおススメ!
- 大きめ15.6インチのモバイルディスプレイ!仕事にも遊びにも最適!
- 34インチの大画面モニター!HDR400でよりダイナミックな映像を!
- 自撮りをもっと綺麗に!スマホ撮影をクオリティアップできるスプリングアーム式リングライト!
- ケーブル不要のワイヤレスヘッドホン!ソニー製でしかも安い!
- ノイキャン性能の新たな到達点!完全ワイヤレスで自分だけの空間を!
- 大きなディスプレイで優れた視認性と堅牢性を備えたプレミアムモデル!Suicaも使える!
- ベストとしても非常に暖かくて軽い!電熱性能を使えばもっと暖かい!
- モバイルバッテリーで使える電熱ベスト!おっ区外でも屋内でもいつでも暖かく!
- iPhoneで使えるコンデンサーマイク!クリップ式なので両手を自由に使える!
- ケーブル不要のワイヤレスヘッドホン!24時間連続再生可能なバッテリー搭載!
- HDMIで映像出力+USBをハブで増やせる!USB-Cポートポートからたくさんの機能を使えるUSB-Cハブ!
- ウィズコロナ時代のソープディスペンサー!自動でハンドソープを出してくれる!
- 寒い季節に欠かせない足下ヒーター!セラミックなのですぐ暖まる!
- 玄関チャイムに最適な無線のチャイム!受信機が2つついているので、2部屋で使える!
- 最大収納枚数5枚!クレジットカードやポイントカードを収納できるカードケース!
- ApplePencilやS-Penの収納に!どこにでも貼れていつでもペンを使える!
- Nintendo Switchでもスマホでも!マルチに使えるゲーム用コントローラー!
- Bluetooth5.1搭載の骨伝導イヤホン!耳を塞がないので外の音を聞きながら使える!
- iPhoneとApple Watchを同時に充電できる!充電口の向きを変更できる充電ケーブル!
- コインサイズのApple Watch充電器!USB-C端子でMacBookと相性最適!
- Qiワイヤレス充電対応!Ankerのプレミアムなモバイルバッテリー!
- 部屋の空気を除菌&加湿!特許技術で空気中の菌を分解!
- 操作性が格段に向上!使いやすくて握りやすいスマホ用ゲームコントローラー!
- スマホゲームをする方に最適!Ankerのモバイルバッテリー付きゲームコントローラー!
- ボーナスポイントも充実のAmazon「初売り」セール
- Bluetooth5.0搭載の完全ワイヤレスイヤホン!バッテリー残量がケースに表示される!
- ドライブレコーダーってこんなに安く手に入る!microSDカード付きで、届いたその日から使える!
- カラフルでおしゃれなマグネットケーブル!シリコン製で耐久性もバッチリ!
- iPhone12専用カメラカバー!アルミ合金採用で軽い上に割れにくい!