VMWare Player 上で動かす Android(x86 版)で Android アプリを使う方法を整理してみた。

きっかけとしては、Google 純正の Android SDK に含まれる Android エミュレーターが遅すぎて使い物にならなかったので、もっと速いのはないのかというところから。

当初は Android エミュレーターをキーワードにして検索していたが、x86 版の Android と仮想 PC の組み合わせでも、パソコン上で Android を動かすことができることがわかったので、こちらで試してみた。Android のバージョンは 4.0.3(Ice Cream Sandwich: ICS)。VMWare Player のバージョンは 5.0.1 build-894247。

目次


ダウンロード

通常の x86 版 Android を仮想マシンで使うとネットワークが使えないので、BuilDroid を使う。

BuilDroid は AndroVM を名前を変えているようで、ダウンロードがわかりにくくなっている。別のサイトに登録しないと最新版がダウンロードできないようだが、旧バージョンであれば登録無しでダウンロードできる。

VMWare Player でのインストール

ダウンロードしたファイルを解凍すると、BuilDroid の LiveCD ISO イメージが出てくる。この CD から仮想マシンを起動し、仮想マシンに BuilDroid をインストールする。インストール手順は IT Pro の記事が詳しいので、ここでは要点のみを記載する。なお、IT Pro は VMWare ではなく VirtualBox を用いていることに注意。


VMSettingsまずは VMWare Player のメニューから新しい仮想マシンを作成する。今回は以下の設定にした。

  • メモリ 1GB
  • プロセッサ 1 個
  • HDD (IDE) 10GB
  • OS タイプ その他
  • ネットワークアダプタ NAT

InstallMenuISO イメージから仮想マシンを起動すると、Android x86 Live CD のメニューが表示される。Installation を選んで先に進む。


黒くて味気ないパーティション設定画面では、[New→Primary] を選んでディスクサイズ(今回は 10GB 全部)を指定する。


[Bootable]を選んで Flags に Boot が追加されたことを確認してから[Write→Quit]すれば、作成したパーティションを Android のインストール先として選べるようになる。


パーティションを ext3 でフォーマットし、GRUB もインストール。system ディレクトリの読み書きは不可で良い(可能にするとインストール時間が長くなるらしい)。


インストール後、fake SD card も作成しておく。2GB で作成した(HDD の中に仮想 SD を作成することになるので、HDD の空き容量が 2GB 減る)。


これでインストール完了。仮想マシンを再起動すれば Android が起動する。

基本設定


DesktopAndroid を起動するとシンプルなホーム画面が表示される。右上の 6 つの白い点をクリックすると端末の設定を行える。


設定しておくと良い項目は、Language & Input(日本語にする)と、日付と時刻(時刻が狂っているのでタイムゾーンを東京にして正しい時刻にする)。

Ethernetまた、重要なのは、普段見慣れない Ethernet configuration。ここで有線 LAN の設定をする。


Configure Ethernet devices をクリックすると使用するデバイスを選べるようになるので、eth0 を選択する。これでネットワークが使えるようになる。

アプリのインストール

残念ながら、Google Play は使えない。Google Play をブラウザで表示させても、端末を所持していない旨のエラーになってしまう。このため、手動で apk ファイルを仮想マシンに転送する必要がある。


ネットの情報によれば、BlueStacks を Windows 上で起動して仮想 Android デバイス ID を取得し、APK Downloader Chrome Extension にそのデバイス ID を設定すれば、Android の実機不要で、Chrome から apk ファイルをダウンロードできるとのことだった。


しかし残念ながらこちらで試した限りでは、BlueStacks はビデオカードに対応してないと言われて起動せず、APK Downloader もうまく動かなかった(仮想デバイス ID が無かったので実機のデバイス ID でテスト)。


そこで、実機の Android 端末(Nexus7)から apk ファイルを持ってくることにした。


WiFiFileTransferNexus 7 に Extract Apks をインストールし、Nexus 7 に入っているアプリを apk ファイルとしてフォルダ内に書き出す。Nexus 7 で wifi file transfer を使えば LAN 内に apk を公開できるので、仮想マシンの Android からブラウザで Nexus 7 アクセスして apk ファイルをダウンロードすれば良い。


Downloadedダウンロードすると、画面右下に下向きの矢印が表示されるので、それをクリックするとダウンロードした apk ファイルのインストールを開始することができる。

Install確認事項を読み、インストールボタンをクリックすればインストールが行われる。

結果

今回の方法で、VMWare での Andoroid 動作が基本的には確認できた。


起動速度も高速で、GRUB メニューを選択してから、Android のデスクトップ画面が表示されるまで、およそ 10 秒と高速。Google 純正 Android エミュレーターの遅さと比べると雲泥の差だ。なお、PC のスペックはこちらの通りで、VMWare イメージファイルは SSD に置いている。


しかしながら、アプリによっては、動かないものも多い。


AnTuTuDetail今回動作が確認できたアプリは、

  • ES ファイルエクスプローラー
  • Nova Launcher
  • Panecal
  • 安兎兎ベンチマーク(右の写真は、4 コア、メモリ 2GB 割り当て時)
  • 日本のカレンダー
  • Device ID

動かなかったアプリは、

  • ATOK(落ちる)
  • Chrome(落ちる)
  • MX 動画プレーヤー(Google Play でコーデックをインストールしろと言われる)
  • RBB TODAY SPEED TEST(条件確認が完了せず測定を開始できない)
  • SPEEDTEST.NET(測定サーバーの設定が完了しない)
  • パズドラ(落ちる)

その他

BuilDroid は少し日付の新しい android-x86-vm-20120307.iso.gz もあったが、こちらで試すと、なぜか apk ダウンロードが行えなかった。


【関連記事】