「Android 4.0」は、米グーグルがオープンソースで開発を進めているモバイル機器向けOSの最新バージョンである(厳密には、2012年4月末時点では「Android 4.0.3」が最新版となる)。連載第5回および第6回に引き続き、x86パソコン向けにカスタマイズされたAndroid 4.0を米オラクルの無償仮想化ソフト「Oracle VM VirtualBox」(以下、VirtualBox)の仮想マシンにインストールして楽しむための方法論を解説していく。

 前回まで(連載第5回および第6回)で、仮想マシンにAndroid 4.0をインストールして実用的に使えるようにするまでの話はひと通り終わっている。作成したAndroid 4.0入り仮想マシンは、(仮想)有線LANインタフェース経由でネットワークに接続でき、独自のマーケットプレイス経由でアプリの追加なども可能である(写真1)。「これくらいできれば差し当たり十分」、そう感じる人もそれなりにいるのではないだろうか。

写真1 作成したAndroid 4.0入り仮想マシンは、標準Webブラウザーを使って普通にITproなどのWebサイトにアクセスできる
[画像のクリックで拡大表示]

 だが、この程度ではまだまだ物足りないというユーザーもきっと数多くいるはずだ。そこで今回は、そうしたユーザーに向けて、作成済みのAndroid 4.0入り仮想マシンをより便利に活用するためのテクニックを二つほど紹介しよう。具体的には、「Android SDKを使ったネットワーク経由の遠隔制御」と「VirtualPCのスナップショット機能を利用した検証作業の効率化」という二つを紹介する。

 さらに、ここまで解説してきたVirtualBoxの代わりに、同じく手軽に使えるパソコン向けの無償仮想化ソフトとして人気を博している米ヴイエムウェアの「VMware Player」(連載第3回で紹介)を用い、同ソフトで作成した新規仮想マシンにAndroid 4.0をインストールして動かすためのポイントについても別掲記事の形で最後に解説する。

Android SDKを導入したパソコンから遠隔制御する

 前編(連載第5回)でも触れたように、Android 4.0を仮想マシンで動かすことで得られるメリットの一つに、「アプリを開発する際の動作検証などをする際に、物理端末の代わりとして活用できる」というものがある。グーグルが配布しているソフトウエア開発キット「Android SDK」に付属するAndroidエミュレータ(Android Virtual Device、AVD)でも実現できる話だが、AVDは動作がかなり遅い(特に起動に時間がかかる)ため、より軽快に動作するAndroid 4.0入り仮想マシンで代用しようというわけだ(写真2)。

写真2 SDK付属のAndroidエミュレータ(AVD)でAndroid 4.0(4.0.3)を動かしたところ
2012年4月上旬に実施されたアップデートによって動作速度が大幅に改善されたが、それでもまだかなり遅い。特に起動するまでが遅く、筆者のパソコン環境では数分かかる(起動後はそこそこスムーズに動作する)。ただし、センサーなども含めた物理端末のエミュレーション精度などの点ではAVDにも多分に優位性があるので、目的に応じて使い分けるとよい。
[画像のクリックで拡大表示]

 物理端末を使ってこうした動作検証を実施する場合、一般には端末と開発用パソコンをUSBケーブルで接続して作業することになる。端末を「USBデバッグ」モードに設定し、パソコンとケーブル接続する(写真3)。この場合、パソコンが「USBホスト」側でAndroid端末が「USBゲスト」側となり、パソコンから見ると周辺機器の一つとしてAndroid端末を接続し、制御する形になる。

写真3 物理Android端末をパソコンに接続する際は「USBデバッグ」モードに設定し、USBケーブルを使ってつなぐ。
[画像のクリックで拡大表示]

 一方、VirtualBoxの仮想マシンの場合、現状ではこうしたUSBケーブル接続を実現できない(仮想マシンはUSBホスト側にしかなれない)。そこでどうするかというと、USBケーブルではなくネットワーク(LAN)経由で開発用パソコンと接続するのだ。仮想マシン(Android 4.0)が外部からのアクセスを待ち受けるサーバーとして動作し、これに開発用パソコンがクライアントとして接続しに行く形をとる(写真4)。

写真4 開発用パソコンとAndroid 4.0端末(仮想マシン)をネットワーク経由で接続したところ
本来はもっぱらクライアントとして利用するAndroid端末側がサーバーになる。
[画像のクリックで拡大表示]

 ネットワーク経由で接続すると聞くと、「設定が複雑だったり接続するのに手間がかかったりして難しそう」というイメージを持つかもしれないが、実際には拍子抜けするほど簡単に接続できる。物理ケーブルが不要でコネクタの抜き挿しなども要らないため、慣れればむしろUSB接続よりも楽に感じるほどだ。USB接続する際にしばしば直面する「パソコン接続用のUSBドライバ(端末ごとに異なる)が見つからない」といったトラブルに悩まされることもない。

 仮想マシンなら、必要なときにすぐ起動してテストできるうえ、異なるバージョンのAndroid OSをインストールした仮想マシンを複数台用意しておけば、アプリを開発したりテストしたりする際に悩みの種の一つとなる「バージョンの違いによる動作可否や挙動の変化」などを検証することも簡単である。

 せっかく手間ひまかけてネットワークが利用できるAndroid 4.0入り仮想マシンを作ったのだから、時間的余裕のある人はぜひ今回紹介するネットワーク経由の遠隔制御にチャレンジしていただきたい。後述するように、遠隔のパソコンからネットワーク経由でアプリをインストールするような芸当も可能になるため、開発者や管理者ではないという人でも試してみる価値は十分ある。