連載
» 2013年01月21日 10時10分 UPDATE

実践しながら学ぶ Android USBガジェットの仕組み(9):世界初!? AndroidエミュレータでUSB接続環境を構築する! (3/3)

[村上雅彦、舟元拓斗、森崇(永和システムマネジメント),MONOist]
前のページへ 1|2|3       

2.3.AndroidエミュレータUSB接続環境のビルド

 改造版・Androidエミュレータ、改造版・仮想マシン(QEMU)はソースコードからのビルドが必要になります。

 ここでは改造版・Androidエミュレータと改造版・仮想マシン(QEMU)それぞれのビルド方法を説明します。


改造版Androidエミュレータのビルド:ビルド方法

 下記コマンドは、「2.2.1.3.Android 2.1プラットフォームソースコードのダウンロード」で作成した<WORKING_DIRECTORY>で実行します。

$ source build/envsetup.sh
環境変数の設定

$ lunch
ビルドターゲットの選択。本コマンドを実行し、generic-engを選択する

$ make
ビルド

改造版・仮想マシン(QEMU)のビルド:ビルド方法

$ sudo apt-get install libglib2.0-dev libsdl1.2-dev
ビルド用のパッケージインストール

 下記コマンドは、「2.2.3.改造版・仮想マシン(QEMU)」でダウンロードした「host-qemu」ディレクトリで実行します。

$ ./configure
Makefileの作成

$ make clean
ビルド環境のクリーン

$ make
ビルド

2.4.AndroidエミュレータUSB接続環境の起動

 改造版・Androidエミュレータと改造版・仮想マシン(QEMU)のビルドが完了したら、いよいよAndroidエミュレータUSB接続環境を起動できます。

 まず、以下のコマンドで、Androidエミュレータを起動します。Androidエミュレータを起動するには、「2.2.1.3.Android 2.1プラットフォームソースコードのダウンロード」で作成した<WORKING_DIRECTORY>で、以下のコマンドを実行してください。

$./out/host/linux-x86/bin/emulator -sdcard <SDメモリーカードのイメージ>(注5) -kernel <カーネルイメージ>(注6)

 次に、仮想マシン(QEMU)を起動します。QEMUを起動するには、「2.2.3.改造版・仮想マシン(QEMU)」でダウンロードした「host-qemu」ディレクトリで以下のコマンドを実行してください。

$./x86_64-softmmu/qemu-system-x86_64 -usb -enable-kvm -cdrom <ISOイメージ>(注7)

 これで、AndroidエミュレータUSB接続環境を利用するための準備が整いました。

※注5:Android SDKのmksdcardを使用して作成します。

※注6:「2.2.2.改造版・Linuxカーネルイメージ」でダウンロードしたカーネルイメージ(zImage)を使用します。

※注7:「2.2.4.OSイメージ」でダウンロードしたKNOPPIXを使用します。Ubuntuを使用する場合は、仮想マシン上でOSをインストールし、HDDイメージを指定して起動することが可能です。


3.デモ

 AndroidエミュレータUSB接続環境の構築ができましたので、早速、デモを披露したいと思います。

 デモ内容は、Android(QEMU)からホストPC(QEMU)に対して、USB接続(受話器ボタンを押下)し、Androidエミュレータ内にあるSDメモリーカードをホストPC上で参照・更新するというものです(動画1)。

 このデモ内容から分かる通り、実機環境と全く同じ操作方法で、AndroidとPCとのUSB接続テストが可能となります(注8)。

※注8:本デモ(動画1)でお見せした操作については動作確認済みですが、それ以外のUSB操作は正しく動作しない可能性があります。ご了承ください……。例えば、USB切断後の再接続はできません。再接続したい場合は、ホストとデバイス両方とも再起動してから接続する必要があります。




 今回は、AndroidエミュレータでUSB接続環境を構築する方法を紹介しました。現状、この環境は“デモ版”であり、予期せぬエラーなどが発生する可能性もあります……。しかし、現段階で、AndroidエミュレータでのUSB接続がGoogle公式サイトで“制限”とされている以上、今回作成した開発環境は「大いなる一歩」ではないかと、われわれは考えています。今後も、本環境は機能拡張や改良を実施していく予定です。ご興味・ご関心のある方は、こちらまでご一報いただければと思います。

 次回は、今回のエミュレータを使ったPCRescuroidの改造内容を紹介したいと思います。お楽しみに! (次回に続く)


Android コーナー

Androidコーナー
「Android(アンドロイド)」の組み込み機器への適用からアプリ開発、レポート、ニュースなどさまざまな技術情報・最新動向をお届けする!!

>>コーナーTOPはこちらから


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.