Windows にインストールした Android Studio(SDK)の Android Virtual Device(AVD) Manager から Intel Atom (x86) のエミュレータを起動しようとした時に、「HAXM must be updated (version 1.1.1 < 6.0.1)」というエラーが発生することがあります。
Andorid SDK Manager で Extras の「Intel x86 Emulator Accelerator (HAXM installer)」が「installed」になっていても発生します。
単純に最新版で更新すれば解決する筈ですので、補足情報を含めて手順を見ていきましょう。
ちなみに、今回の記事は前提を把握している人向けですので、細かい説明は省きます。ご了承下さい。
読み込み中です。少々お待ち下さい
エラーの詳細
起動時に表示される内容は、以下のようになります(バージョンにより、内容が異なる場合があります)。
ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAXM must be updated (version 1.1.1 < 6.0.1).
「HAXM をアップデートしなさい」と怒られているので、唯々諾々と更新しましょう。
インストーラの場所
まず、Andorid SDK Manager で Extras の「Intel x86 Emulator Accelerator (HAXM installer)」が「installed」になっていることを確認します。
アップデートに使うインストーラは、以下のフォルダに存在します。
(Android SDK のルート)/extras/intel/Hardware_Accelerated_Execution_Manager
バージョンによって、フォルダ名が多少異なる場合があります。
現在のバージョンを調べる
上記フォルダに存在する「silent_install.bat」を使って、現在インストールされているバージョンを調べることができます。
コマンドプロンプトで、以下のように「-v」オプションをつけて実行してください。
silent_install.bat -v
「silent_install」には、これ以外にもいくつかオプションが用意されています。詳しくは、「-h」オプションでヘルプを出力してください。
HAXM をアップデートする
上記フォルダの「intelhaxm-android.exe」を実行します。
バージョンによって、ファイル名が異なる場合があります。
Hyper-V を無効化する
更新が成功したとしても、開発環境として Windows 10 等を利用していると、今度は以下のようなエラーが発生する場合があります。
CPU に Intel Atom を選択していると、Hyper-V と共存できません。
起動するには、前者のエラーメッセージが教えてくれているように、管理者としてコマンドプロンプトを開き、以下のコマンドを実行して Hyper-V を無効化する必要があります。
bcdedit /set hypervisorlaunchtype off
設定は、再起動後に反映されます。
ただし、このままだと今度は Hyper-V が使えなくなってしまいます。
前回の記事にも書きましたが、Hyper-V を有効に戻す場合は、以下のコマンドを実行して Windows を再起動してください。
bcdedit /set hypervisorlaunchtype auto
ちなみに、Android エミュレータの設定で CPU に ARM を選択すれば、物凄く遅いですが Hyper-V が有効なままでも起動は可能です。
おわりに
クライアントとしてしか使ったことが無いんですが、開発でも BlueStacks や GENYMOTION、Andy なんかを利用した方が良いのかも知れませんね。
まぁ、お金かかっちゃいますけど。