2012年01月30日
Androidのemulator consoleに簡単にコマンドを送る方法
Androidのemulatorをひとつ起動している状態で、"adb emu window scale 0.5" を実行するとemulatorの表示が縦横半分に小さくなります。"adb emu window scale 1.0" で元に戻ります。狭い画面で作業しているときには便利かもしれません。aliasに設定するとよいでしょう。
このadb emuコマンドを詳しく見ていきましょう。
Androidのemulatorのconsole
Using the Emulator Consoleのところを見てください。
emulatorを起動すると、タイトルバーのところに5554:<build>と出ます。この5554がポート番号です。emulatorのconsoleに接続するにはtelnetでこのポートに接続します。
$ telnet localhost 5554 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Android Console: type 'help' for a list of commands OK
helpでコマンド一覧がでます。
help Android console command help: help|h|? print a list of commands event simulate hardware events geo Geo-location commands gsm GSM related commands cdma CDMA related commands kill kill the emulator instance network manage network settings power power related commands quit|exit quit control session redir manage port redirections sms SMS related commands avd control virtual device execution window manage emulator window qemu QEMU-specific commands sensor manage emulator sensors try 'help' for command-specific help OK
ためしに以下のように入力するとemulatorの画面が小さくなります。
window scale 0.5 OK
接続を切るには
quit Connection closed by foreign host. $
adb emuコマンド
adbコマンドでもAndroidのemulatorのconsoleにコマンドを送ることができます。
ただし、送ったあとすぐにquitしているので、コマンドを送るだけです。
$ adb emu window scale 0.7
scaleで指定可能な範囲は0.1から3まで(ドキュメント参照。)で、この範囲を超えるとemulatorがSEGVで落ちたりします。
emulatorを強制終了するには
$ adb emu kill
emulatorが複数起動しているときには -s オプションでシリアル番号を指定すればと思いましたが、実際にはうまくいきませんでした。 うまくいきました。デバイスがまだオフラインのうちにコマンドを送っていたのかな?
$ adb devices List of devices attached emulator-5554 device emulator-5556 device $ adb -s emulator-5556 emu window scale 0.7
adbコマンドのこの部分のソースは以下にあります。
system/core/adb/console.c
関連するページ
Android Builders SummitでADBの話をしました
Androidのadbのメモ(1) adb serverの観察
Androidのadbのメモ(5) adb shell lsを実行したときのログ
Androidのemulator consoleに簡単にコマンドを送る方法
Androidのadbのメモ(6) 直接adb serverと通信するrubyスクリプト
Androidのadbのメモ(7) Androidデバイス側でadbを動かす
Androidのadbのメモ(8) Android以外でadbを使う実験
Androidのadbのメモ(9) Android端末同士をadbでつなぐ
Androidのadbのメモ(10) adbdの起動のトリガー
Androidのadbのメモ(11) adbdのsecureモード