Android Studio
実行時のエラー
11:34 Executing tasks: [:app:assembleDebug] 11:34 Emulator: Warning: Quick Boot / Snapshots not supported on this machine. A CPU with EPT + UG features is currently needed. We will address this in a future release. 11:34 Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration! 11:34 Emulator: CPU acceleration status: Unable to open HAXM device: ERROR_FILE_NOT_FOUND 11:34 Emulator: Process finished with exit code 1
- lenovo X220i 4287-3MJ
- Windows 10 Pro
- Windows システム情報
- バージョン 10.0.17134 ビルド 17134
- プロセッサ Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz、2100 Mhz、2 個のコア、4 個のロジカル プロセッサ
- メモリ 16G
- 仮想化ベースのセキュリティ 実行中
- 仮想化ベースのセキュリティの必須セキュリティ プロパティ
- 仮想化ベースのセキュリティの利用可能なセキュリティ プロパティ 仮想化の基本サポート
- 仮想化ベースのセキュリティの構成済みサービス
- 仮想化ベースのセキュリティの実行中サービス
- Intel HAXM が必要
- HAXM, Hardware Acceleration Manager
参考資料
Hyper-VでサクサクAndroidエミュレータを使おう / Qiita @kuluna
現在のAVDはIntel HAXMという仮想化技術を使って実行されています。実は他の仮想化技術同士とはケンカすることが多く、共存できないものがたくさんあります。特にWindowsではHyper-VとIntel HAXMが共存できないのです。
しかし、ついにWindows10 April 2018 UpdateからHyper-Vに対応したAndroidエミュレータが使えるようになりました!これによりIntel HAXMを使わずにサクサクエミュレータを使うことができます!
Hyper-V とWindows Hypervisor Platform にチェックをつけてOKを押します。
Windowsを再起動します。
Android Emulatorのバージョンが27.3.8以降になるようアップデートしてください。
以前はHyper-Vが有効になっていると、起動できないから無効にしろふじこふじこと怒られていましたが、もう怒られなくなっています。
「Android Emulator」がAMD製CPUをサポート、「Hyper-V」での利用も可能に / 窓の杜
米Googleは7月9日(現地時間)、「Android Emulator」がAMD製CPUとMicrosoftの仮想化技術「Hyper-V」をサポートしたことを発表した。
「Android Emulator」では、Windows環境でAndroid仮想デバイス(ADV)を高速に動かすために、Intelが開発したオープンソースの仮想化ソリューション「HAXM」が利用されている。しかし、「HAXM」はAMD製CPUをサポートしていない。また、Windows環境の仮想化ソリューションとしてはMicrosoftの「Hyper-V」も有名だが、「Hyper-V」は他の仮想化技術と同時に利用することができないという問題があった。こうした問題が、今回のアップデートで一挙に解決される。
OS:Windows 10 April 2018 Update([Windows の機能の有効化または無効化]ダイアログで[Windows ハイパーバイザー プラットフォーム]オプションを有効化・再起動する必要がある。Windows 10 Homeでは利用不可)
開発環境:Android Studio 3.2 Beta以降
エミュレーター:Android Emulator v27.3.8以降
仮想デバイス:x86 Android Virtual Device
Intel製CPUを搭載した環境では、これまで通り「HAXM」が既定の仮想化ソリューションとなるが、「Android Emulator」を「Hyper-V」で動作させることも可能。その場合は、上記のセットアップ要件に加え、
・CPU:Intel Coreプロセッサー
・仮想化支援機能:VT-x、Intel EPT(Extended Page Table)、VMX Unrestricted Guest
「Hyper-V」の「Android Emulator」サポートに関しては、5月に発表されたMicrosoftのアナウンスも参照してほしい。
Hyper-V Android emulator support / The Visual Studio Blog / MSDN
Today, at Build 2018, we announced a preview of the Google Android emulator that’s compatible with Hyper-V, available on the Windows 10 April 2018 Update.
Please note: More recent versions of the emulator (27.2.8, 27.3.0, or later), require an emulator flag while the feature is in the preview. To do this, create or edit the file C:\Users\<your-username>\.android\advancedFeatures.ini and add the line “WindowsHypervisorPlatform = on”, or start the emulator from the command line with “-feature WindowsHypervisorPlatform”.
- C:\Users\<your-username>\.android\advancedFeatures.ini
WindowsHypervisorPlatform = on
第148回 エミュレーター / 塩田紳二のアンドロイドなう / MyNavi
ただし、オフといっても、アンインストールする必要はありません。WindowsのコマンドラインからHyper-Vを停止させることができるのですが、再起動が必要です。
コマンド自体は簡単なのですが、やはり毎回再起動するのは面倒です。そこで、Hyper-V以外の「仮想マシン環境」を使うことにします。
インテルのHAXMは、VirtualBoxとは共存できるようになっているようです。ためしてみると、両方を同時に起動することが可能でした。
adbコマンドで使うポート番号ですが、筆者の環境で調べたところ、インスタンス「Nox」は62001、インスタンス「Nox_1」が62025、「Nox_2」が62026となっていて、ポート番号62025から順に割り当てられるようです。このため、adbコマンド(写真05)を使って、
adb.exe connect 127.0.0.1:ポート番号
とすれば、adb接続が行われ、Android Studioなどからアプリのインストール、起動が行えるようになります(写真06)。
Hyper-Vをオフにしても、VirtualBoxを使えば、Windows Insider Previewの評価をしながら、AS版アンドロイドエミュレーターやNoxPlayerを動かすことができました。