リリースされたばっかりのAndroid Studio 1.0を使ってみたんですが、その過程でWindows 7(x86)上のエミュレータでHAXM(Intel Hardware Accelerated Execution Manager)が動いてくれませんでした。
なんとか動かせるようになったので記録を残しておきます。
一般的な手順
Android SDK Managerで"Intel x86 Emulator Accelerator (HAXM installer)をインストールします。この後、SDKのインストールされたフォルダにダウンロードされたインストーラを実行します。
{ANDROID_SDK_HOME}/extras/intel/Hardware_Accelerated_Execution_Manager/intelhaxm-android.exe
HAXMのバージョンが古い?
インストールが完了してエミュレータを実行してもウンともスンとも言わず、コマンドプロンプトから叩いてみると以下のようなエラーが発生していました。emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX kernel module is not installed!困ったぞと思って調べていたところ、Intelのサイトから最新版をDLしてきてインストールすれば良いぞという情報が。
[HAXM最新版]
一旦元のHAXMをアンインストールして、ダウンロードしたほうをインストールします。
で、これでOK!とはならなかったです。
※うまくいったって報告例もありました
Failed to configure driver
Intelのサイトから最新版(調査時点で"haxm-windows_r05")をインストールしていたら、以下のようなメッセージが表示されました。Failed to configure driver: unknown error. Failed to open driverインストール完了後に"intelhaxm"というサービスが起動しているはずらしいんですが、以下のコマンドを叩いて確認してみます。
> sc query intelhaxmしかし結果は"指定されたサービスはインストールされたサービスとして存在しません。"とのこと。
またまた困ったぞと思って調べていたところ、Intelの開発者フォーラムに[Workaround Patch for HAXM Installation Error "Failed to configure driver: unknown error. Failed to open driver"]などというドンピシャっぽいエントリを発見。
[パッチのページ]
ページ内に書いてある手順に従います。
- ページ内のリンクからzipを落としてくる
- 適当なフォルダに解凍する
- 解凍されたファイルの"hax_extract.cmd"を、HAXMインストーラのあるフォルダにコピーする
- コピーした"hax_extract.cmd"を右クリックして「管理者として実行」する
- 権限についてのダイアログがでたら「はい」を選んで実行
コマンドプロンプトで"sc query intelhaxm"を叩いてみて"STATE:RUNNING"って出てたら多分成功。
まぁ実は上記手順で最初はうまくいきませんでした。
コマンドプロンプトを管理者として実行して再度"hax_extract.cmd"を叩いてみると、実行結果に「まずは再起動してくれ」って書いてました。
再起動後に上記手順を行うと、今度は無事成功しました。めでたし。