Androidエミュレータの高速化

久しぶりにAndroidの授業を持っている。前回授業したときはAndroid2.3系を使ってMacで行った。今回は、4.3でWindowsを使っての授業。お約束のHelloAndroidからはじめるのだが、エミュレータ(AVD)が遅い。いや、前回授業したときも遅かったのだが、今回は遅すぎる。まあ、でも、AVDというのはこういうものか、とあきらめていたのだが、Care i3や場合によってはCore2Duoマシンの学生もいる中で、どうもこれでは授業が成り立ちそうにない。どうしようかと思っていたら、ある学生が「AVDの高速化」なる方法を見つけてくれた。Google先生にたずねてみると、ネット界隈では結構当たり前の方法らしい。「AVDはもともと遅いもの」としてあきらめて調べなかった自分を反省しつつ、その方法をメモしておこう。

HAXMとシステムイメージのダウンロード

Android SDKマネージャーを起動し、最下部にある
Extras > Intel x86 Emulator Accelerator (HAXM)
にチェック。さらに、現在インストール済APIレベル(例えば、「Android 4.3 (API 18)」など)配下の「Intel x86 Atom System Image」のチェックを入れて、「Install ## packages」ボタンをクリックする。次の画面で「Accept License」ラジオボタンを選択し、「Install」をクリック。
ダウンロードが開始される。

IntelHaxmのインストール

Android SDKがインストールされたディレクトリをANDROIDSDK_HOMEとしたら、
ANDROIDSDK_HOME\extras\intel\Hardware_Accelerated_Execution_Manager
内の「IntelHaxm.exe」をダブルクリック。
Setupウィザードが起動するので、「Next」2回で画面遷移の上に「Install」をクリックしてHAXMをインストール。
完了画面(「Completed the Intel …」画面)では、「Launch Intel HAXM Documentation」のチェックボックスをはずして「Finish」をクリック(ドキュメントを読みたい人はチェックボックスをはずさなくてもよいがブラウザが起動してしまう)。

BIOSの設定が必要かも

もし、インストール中にVT-xに関するエラーが表示された場合、BIOSで「Virtualization Technology」が「Disable」になっている可能性が高い。これを「Enable」に変更する。

AVD設定

Android 仮想デバイス・マネージャーを起動し、リストから該当のAVDを選択し、「編集」ボタンをクリック。
編集画面の「CPU/ABI」のプルダウンから「Intel Atom (x86)」を選択し、「OK」をクリック。
以上で、AVDが爆速化する!
はず。
AVDを起動したときにコンソールに
HAX is working and emulator runs in fast virt mode
と表示されていれば爆速のはず。そうでない場合、
HAX is not working and emulator runs in emulation mode
と表示されている可能性が高い。この場合、マシン自体の再起動が必要かも。