用途 | 便利 |
---|---|
カテゴリ | 開発環境 |
レベル | 中級 |
動作確認環境 | Android 2.3.3(GingerBread) エミュレータにて動作確認 |
備考 | 今回のTipsは上記環境で動作確認・検証を行っています |
作成したアプリケーションの動作をいろいろなバージョンのAndroidで確認する場合、Android SDKに含まれるエミュレータを用いることになる。しかし、エミュレータ単体では、電源をつなぐ・外すといったことを再現できないし、電話がかかってきた場合の挙動なども確認できない。
実は、このような電源接続・電話着信などの状況を、「Telnet」接続により、エミュレータ上で作り出すことができる。今回はその方法について紹介する。
今回、動作確認を行ったWindows 7環境では、Telnetクライアントがデフォルトで“無効(OFF)”になっている。まずは、Windows 7環境でTelnetクライアントを“有効(ON)”にする。手順は以下の通りだ。
AndroidエミュレータへTelnet接続するには、以下のコマンドを実行する。
telnet localhost <ポート番号>
エミュレータのポート番号は、「adb devices」コマンドなどで確認しておこう(画像2)。
もしくは、エミュレータを実行するウィンドウのタイトルバーでもポート番号を確認できる(画像3)。
エミュレータへのTelnet接続に成功すると、以下のように表示される。
Android Console: type 'help' for a list of commands OK
Telnet接続を終了する際には、「quit」と入力する。
Telnet接続に成功したら「help」と入力してみよう。以下のように使用できるコマンドの一覧が表示される(画像4)。
ハードウェアのイベントを疑似的に発生させたり、センサーの計測値、位置情報、通信の状態を変更したりできる他、通話やショートメッセージに関する操作も行える。
画像4に示したコマンドの下には、さらに“サブコマンド”があるため、実際に実行できるものはこれらよりも多くなる。全ての機能を紹介することは難しいので、本稿では以下の4つの機能について解説する。
何もしない状態では、Androidエミュレータのバッテリー残量は50%に固定されている。エミュレータのバッテリー残量を変更するには「power capacity」コマンドを使用する。
例えば、「power capacity 80」を実行すると、バッテリー残量が80%に変化する(画像5)。
バッテリー表示は常に“充電中”だが、これは「power status」コマンドで変更できる。「power status not-charging」を実行すると、充電中表示から残量表示に切り替わる(画像6)。
また、画面上では変化が分からないが、「power ac on」「power ac off」で、電源への接続状態を変更できる。アプリケーションの更新のように、電源接続中にのみ実行したい処理などの動作確認に使える。
端末の位置情報を変更するには、
geo fix <経度> <緯度>
を使用する。例えば、Google Mapsアプリで[現在地ボタン]を押した状態で「geo fix 139.766 35.681」を実行すると、以下のように表示される(画像7)。
Androidエミュレータに電話がかかってくる状態は、
gsm call <電話番号>
でシミュレートできる。通話によるアプリケーションの中断時の動作を確認したい場合などによさそうだ。例として、「gsm call 09012345678」を実行してみると、以下のように着信画面が表示される(画像8)。また、電話に出たり、通話履歴を確認したりすることもできる(画像9)(画像10)。
ショートメッセージの受信は、
sms send <電話番号> <メッセージ>
でシミュレートできる。
メッセージには半角スペースが入っていても問題ないが、残念ながら日本語は文字化けしてしまうようだ。Telnetの文字コード設定を「UTF-8」に変更すれば化けない可能性もあるが、Windows 7のTelnetでは設定できなかった。
以下、「sms send 09012345678 Hello Short Message !!」の実行例を示す(画像11)。
Copyright © ITmedia, Inc. All Rights Reserved.