Android エミュレータで電源接続/切断をテストするには


バッテリの状況を取得するアプリの開発では、エミュレータのバッテリステータスや、パラメータを変化させてのテストが必要となります。(Android エミュレータは、起動時には電源接続で充電中、容量 50% になっています。)

そのためには telnet を使います。ここでは、その手順についてまとめておきます。

  1. エミュレータ(AVD)を起動しておきます。
  2. コマンドプロンプトを起動します。
  3. adb devices” を実行します。すると、接続可能なデバイスの一覧が表示されます。デバイス名の後ろの 4桁の数字がポート番号です。adb_devices
  4. telnet localhost ポート番号” を実行します。telnet
    (※ここで「コマンドがありません」となる場合は、telnet がインストールされていません。Windows7 の場合は、Windows7 で Telnet クライアント を参考にインストールして下さい。その他の環境では、適切な方法でインストールしてください。)
  5. 「接続中」メッセージの後、しばらくすると「OK」となり Android コンソールに接続します。help でコマンド一覧が見れます。またコンソールを終了する時は、 exit です。telnet_help
  6. 電源に関するコマンドは power です。
    power  sub-command  パラメータ
    のように実行しますが、power のみで実行するとサブコマンドの一覧が見れます。ここでは、主なコマンドをあげておきます。 

    • power display                             電源パラメータ一覧の表示
    • power ac on                                電源接続
    • power ac off                                電源切断
    • power capacity 70                       電源容量を 70% にする
    • power status charging               充電中
    • power status discharging         放電中

注) power status は、状態としての充電/放電中等を変えますが、電源の物理的な接続/切断 は、power ac on/off でエミュレートします。両者は自動的に連動するわけではありません。(前者は、ACTION_POWER_CONNECTED, ACTION_POWER_DISCONNECTED インテントを投げません。)

Eclipse の Window メニューに Android SDK / AVD Manager が表示されない時


先日、Eclipse を再インストールしてセットアップしたところ、Window メニュー内に Android SDK Manager, Android Virtual Device Manager が無いことに気づきました。

本来は、このように、Navigation の下に表示されるはずです。

しかし、今回インストールした Eclipse だとこのようなメニューです。もちろん、ADT はインストール済です。

SDK/AVD マネージャ自体は SDK をインストールしたフォルダから直接起動することができるので、致命的なことにはなっていないのですがやはり不便です。(デフォルトでは、Android SDK は、%USERPROFILE%android-sdks にあります。)

前から使っている PC は問題なく表示されているのですが、新しくインストールした PC では上記の問題が発生します。

丁度、Android 4.2 SDK が更新されて ADT も 21.0.0 に更新されたタイミングでしたので、ADT のデフォルトの設定が変わったのでは無いかと推測しています。

既存の ADT を更新した場合は設定を引き継ぐので問題無いのですが、新規にインストールすると、新しい設定になるので上記問題が発生するのではないかと思います。(なぜ、そのようなデフォルト設定になったのかは不明ですが)

この問題は、以下のように設定を修正することで解消できます。

  1. Window > Customize Perspective を開く
    Eclipse Window Menu
  2. Command Groups Availavility タブを開き、Android SDK and AVD Manager にチェックを入れる
    Command Groups Availavility

以上で、SDK/AVD Manager が Window メニュー内に表示されるようになります。