adbを使って端末にキーイベントを送る
|Androidのデバッグをサポートしてくれるツール、adb(Android Debug Bridge)の便利な使い方を紹介します。adbのshellコマンドinputを使うと端末やエミュレータにキーイベント、文字列を送ることが出来ます。adbを使いこなすではファイルコピーやapkファイルのインストール方法など便利な機能を解説しています。あわせてどうぞ。
よく使うadbのコマンドは以下のとおりです。アプリケーションのインストールからデータ交換まで、頻繁に利用するコマンドをピックアップしました。
- adb install <アプリケーション名.apk>
- adb uninstall <com.application.packagename>
- adb push <ローカルの転送したいファイル> <端末の転送先(/sdcard/など)>
- adb pull <端末の取得したいファイル> <ローカルの転送先>
- adb shell input keyevent <キーイベント>
- adb shell input text <文字列>
adbのshellコマンド:input
キーイベントを送るには、ターミナル(コマンドプロンプト)より以下の通り入力し、adb shellに入ります。
$ adb shell
もしpathが通っていない場合は、cdコマンドなどでAndroidのインストールディレクトリ(android-sdk-windows/など)以下のplatform-toolsに移動してください。
shellでinputと入力すれば利用方法を確認できます。
$ input
usage: input [keyevent|text]
input text
input keyevent
参考:ターミナルからIntentを投げるにも、adbの使い方についてフォローがあります。
textはEditTextなど文字入力可能なフィールドに文字を入力できます。
keyeventは、キーイベント(ハードウェアキーの有無に限らず)の送信が可能です。Android端末によって搭載されているハードウェアキーが異なります。デバッグなどで仮想的にキー入力がほしい場合や作業効率挙げるためによく使います。
なかでも頻繁に使うevent_codeを紹介します。
キーイベント名 | event_code | 備考 |
KEYCODE_HOME | 3 | ホームキー |
KEYCODE_BACK | 4 | バックキー |
KEYCODE_MENU | 82 | メニューキー |
KEYCODE_SEARCH | 83 | 検索キー |
KEYCODE_CAMERA | 27 | カメラキー |
その他のキーイベント一覧:http://developer.android.com/reference/android/view/KeyEvent.html
デバッグのお供にどうぞ。