Android開発環境構築2012年12月19日 4. 高速エミュレーターの導入
はじめに
2012年12月中旬に、Androidの最新開発環境を、1から構築しなおした時のメモです。全部を読みたい場合は、目次を見てください。
4. 高速エミュレーターの導入
Androidのエミュレータは、スマートフォン向けCPUの挙動を、無理やりエミュレーションしているので非常に遅いです。
この問題を解決するには、InterlのCPU仮想化技術を利用します。適切なファイルをダウンロードして、設定を行うことで、Interlの技術を使った、高速エミュレータを利用できます。
ここでは、この高速エミュレータの導入方法を解説します。
ただし、全てのCPUで、この高速エミュレータが利用できるわけではないようです。その制限に引っ掛かる可能性があるケースについて、この章の末尾に記載しておきます(私自身が引っ掛かったわけではないので、情報だけを書いておきます)。
4-1. x86 Emulator System Image の導入
- 「Android* Developer Community」を開く。
http://software.intel.com/en-us/android
- [TOOLS & DOWNLOADS]タブを選択する。
- 「Android* X.X.X (XXX) x86 Emulator System Image」をクリックする。ここでは「Android* 4.1.1 (Jelly Bean) x86 Emulator System Image」をクリックする。
- ページが遷移するので、Link「sysimg_x86-16_r01.zip」(File Description「System image binaries」)をクリックする。
- ページが遷移するので、「Click to Accept EULA & Download sysimg_x86-16_r01.zip」をクリックする。ダウンロードが始まる。
- 「sysimg_x86-16_r01.zip」を解凍すると、「x86」フォルダが作成される。
- 「x86」フォルダを、以下のパスにコピーする。「android-16」というフォルダがなければ作る。
- 「adt-bundle-windows-x86\sdk\system-images\android-16」
- 最終的に以下のような構成になる。
- 「adt-bundle-windows-x86\sdk\system-images\android-16\x86」
4-2. Hardware Accelerated Execution Manager の導入
- 「Android* Developer Community」を開く。
http://software.intel.com/en-us/android
- [TOOLS & DOWNLOADS]タブを選択する。
- 「Intel Hardware Accelerated Execution Manager」をクリックする。
- ページが遷移するので、「extra_intel_haxm-windows_r02.zip」をクリックする。
- ページが遷移するので、「Click to Accept EULA & Download extra_intel_haxm-windows_r02.zip」をクリックする。「extra_intel_haxm-windows_r02.zip」がダウンロードされる。
- 「extra_intel_haxm-windows_r02.zip」を解凍する。
- 「haxm-windows」というフォルダが作成される。
- フォルダ内の「IntelHaxm.exe」を実行する。
- 「Intel Hardware Accelerated Execution Manager Setup」ダイアログが表示される。指示の通りにボタンを押していく。
4-3. Intel x86 Emulator Accelerator(HAXM) のインストール
- 「Eclipse」を起動する。
- メニューの[Window][Android SDK Manager]を選択する。
- 「Android SDK Manager」ダイアログが開く。
- [Packages]の[Extras]の[Intel x86 Emulator Accelerator(HAXM)]をチェック。
- [Install 1 package...]ボタンをクリックする。
- 「Choose Packages to Install」ダイアログが開く。
- [Accept All]にチェックを入れる。
- [Install]ボタンを押す。
- 「Android SDK Manager」ダイアログに戻る。
- 「Done loading packages.」とダイアログ下部に出たら、インストール作業完了。[Intel x86 Emulator Accelerator(HAXM)]の「Status」が「Installed」に変わる。
- 「Android SDK Manager」ダイアログを閉じる。
4-4. API 16 の導入
http://software.intel.com/en-us/android
- 「adt-bundle-windows-x86\sdk\system-images\android-16」
- 最終的に以下のような構成になる。
- 「adt-bundle-windows-x86\sdk\system-images\android-16\x86」
- 「Android* Developer Community」を開く。
http://software.intel.com/en-us/android
- [TOOLS & DOWNLOADS]タブを選択する。
- 「Intel Hardware Accelerated Execution Manager」をクリックする。
- ページが遷移するので、「extra_intel_haxm-windows_r02.zip」をクリックする。
- ページが遷移するので、「Click to Accept EULA & Download extra_intel_haxm-windows_r02.zip」をクリックする。「extra_intel_haxm-windows_r02.zip」がダウンロードされる。
- 「extra_intel_haxm-windows_r02.zip」を解凍する。
- 「haxm-windows」というフォルダが作成される。
- フォルダ内の「IntelHaxm.exe」を実行する。
- 「Intel Hardware Accelerated Execution Manager Setup」ダイアログが表示される。指示の通りにボタンを押していく。
4-3. Intel x86 Emulator Accelerator(HAXM) のインストール
- 「Eclipse」を起動する。
- メニューの[Window][Android SDK Manager]を選択する。
- 「Android SDK Manager」ダイアログが開く。
- [Packages]の[Extras]の[Intel x86 Emulator Accelerator(HAXM)]をチェック。
- [Install 1 package...]ボタンをクリックする。
- 「Choose Packages to Install」ダイアログが開く。
- [Accept All]にチェックを入れる。
- [Install]ボタンを押す。
- 「Android SDK Manager」ダイアログに戻る。
- 「Done loading packages.」とダイアログ下部に出たら、インストール作業完了。[Intel x86 Emulator Accelerator(HAXM)]の「Status」が「Installed」に変わる。
- 「Android SDK Manager」ダイアログを閉じる。
4-4. API 16 の導入
「3-3. 他の API の導入(API 16)」を参考にして導入してください。
先に「API 16」を導入した場合は、新たに追加でインストールできるパッケージが追加されている可能性があります。
「Android 4.1.2(API 16)」で、「status」が「Not installed」になっている物がある場合は、選択してインストールを実行してください。
4-5. AVD の作成
- 「Eclipse」を起動する。
- メニューの[Window][Android Virtual Device Manager]を選択する。
- 「Android Virtual Device Manager」ダイアログが開く。
- [Android Virtual Devices]タブを選択する。
- [New]ボタンを押す。
- 「Create new Android Virtual Device(AVD)」ダイアログが開く。
- 「AVD Name」に任意の名前を入力する。ここでは「Intel_x86_Emulator」とする。
- 「Device」を任意に選ぶ。ここでは「5.1" WVGA(480 x 800: mdpi)」とする。
- 「Target」を「Android 4.1.2 - API Level 16」を選ぶ。
- 「CPU/ABI」を「Intel Atom(x86)」を選ぶ。
- 「SD Card」の「Size」に任意の値を入力する。ここでは「32」MBとする。
- 「Emulator Options」で[Use Host GPU]にチェックを入れる。
- [OK]ボタンを押す。
- 「Android Virtual Device Manager」ダイアログに戻る。
- 作成した「Intel_x86_Emulator」が画面に現れるので選択する。
- [Start...]ボタンを押す。
- 「Launch Options」ダイアログが開く。
- [Launch]ボタンを押す。
- 「Stating Android Emulator」ダイアログが開き、起動が始まる。
- 「HAX is working and emulator run in fast virt mode」と出ていれば、CPUの仮想化が成功している。
- しばらく経つと「5554:Intel_x86_Emulator」というウィンドウが開き、Androidのエミュレーターが始まる。
★日本語ログイン名の場合は、ここで、再度AVDの移動が必要です。「3-2. Windows のログイン名が日本語の場合の操作」を参考にして、AVDのパスを変更してください。
4-6. CPUの仮想化対応
高速エミュレーターは、全てのパソコンで利用できるわけではないようです。搭載されているCPUが、CPUの仮想化技術に対応している必要があるそうです。
その制限に引っ掛かる可能性があるケースについて書きます。私自身が引っ掛かったわけではないので、情報だけの記載になります。
CPUが仮想化に対応していない場合は、以下のような警告が出ることがあるそうです。
- A.「IntelHaxm.exe」を実行した際に、下記のような警告メッセージが表示される。
This computer meets the requirements for HAXM, but Intel Virtualization Techonology is not turned on.
please enable VT-x and re-install HAXM.
please refer to the Intel HAXM documentation for more information.
- B.「Stating Android Emulator」ダイアログで、「HAX is working and emulator run in fast virt mode」(下画像)と表示される代わりに以下のメッセージが出る。
「HAX is not working and emulator runs in emulation mode」
Aの場合は、「IntelHaxm.exe」の実行に単に失敗しているだけの場合があります。その際は、Windowsを再起動して、インストールをし直すと、無事に成功する時があります(私の場合はそうでした)。
Bの場合は、BIOS設定の変更で、上手く行く時があるそうです。BIOSの設定は、PCを不調にする可能性があるので、自己責任で行う必要があります。
- BIOSの設定画面に入る。
- BIOSの設定方法は、パソコンによって違う。
- ほとんどのパソコンは、起動時に[Delete]キーを押すか[F2]キーを押すことで、BIOSの設定画面に入れる。
- 「advance」といった項目の中に「Virtualization」云々と書いてある場所があれば、そこを「Enabled」に変更する。
- 変更した設定を保存して、BIOS設定画面を抜ける。
これで、上手く行く可能性があるそうです。