Androidのエミュレーターで特定のキー操作をシミュレートしたい
Created at:
Android SDKのエミュレーターにはいくつかハードキーがついていますが、中にはついていないものがあります。
キーボードのキーなどはコンピューターのキーで代用できるのですが、
Android TVのアプリを作っているときなど再生/一時停止ボタン(テレビであればリモコンにある)を押したときの反応を実装する必要がある場合には困ります。
例えば onKey
イベントで KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE
に反応するコードを書いてもどうやってテストすれば…となるわけです。
そこでエミュレーターには input
という入力をシミュレートするコマンドがあり、adb shell
で接続して実行することで押されたかのような挙動をテストできます。
root@generic_x86:/ # input keyevent KEYCODE_MEDIA_PLAY_PAUSE
input
コマンドの第一引数に keyevent
を、第二引数には KeyEvent
のキーコード定数名を指定できます。