2012年10月17日水曜日

仮想マシン上のAndroidでUSBホストを使う

Android SDKに含まれるエミュレータはUSBデバイスの接続に対応していません。
「android-x86」のLiveCDイメージを使うことで、USBホストのテストがPC上で可能になります。
今回はVMWare FusionとVirtualBoxで動かしてみました。


  • ISOイメージをこちらからダウンロードします。「new version here」というリンクのもの(android-x86-vm-20120130.iso.gz)を使用しました。→ http://www.buildroid.org/blog/?p=86 
  • 新しい仮想マシンをセットアップし、CDドライブにLiveCDを指定してVMを開始します。
  • 「Live CD - Run Android-x86 without installation」を選択して、Androidを起動します。
  • VirtualBoxの場合、「Machine」メニューから「Disable Mouse Integration」をチェックします。
  • VMware/VirtualBoxの「ネットワークアダプタ」のモードを「ブリッジ(自動設定)」「Bridged Adapter」に変更します。
  • Android側の「Terminal Emulator」アプリを開き、以下のコマンドを実行します。固定IPを設定するので、LAN内で空いているIPアドレスを確認しておいてください。(今回は192.168.1.111とします)。
$ su
# ifconfig eth0 192.168.1.111 up



  • ホストOS上から、下記のコマンドを実行します。
$ adb connect 192.168.1.111

これで、仮想マシンのAndroidとadbが接続され、Eclipseなどからアプリが流しこめます。
仮想マシン側にUSBデバイスを接続することで、そのデバイスをAndroidで使用することができます。