ぷろじぇくと、みすじら。

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 のキーコード定数名を指定できます。