Android
Hyper-V

Hyper-VでサクサクAndroidエミュレータを使おう

昔からAndroid開発者はエミュレータ(AVD)に泣かされてきました。特にエミュレータの起動や操作がとても遅かったのです。
最近はAndroidStudio2.0になったことによりかなり高速化されました。

新しいAVDはIntel HAXMという仮想化技術を使って実行されています。実は他の仮想化技術同士とはケンカすることが多く、共存できないものがたくさんあります。特にWindowsではHyper-VとIntel HAXMが共存できないのです。なのでこれまではHyper-Vをオフにするか、諦めておそ~~~~~~~~~~~~いエミュレータを使うしかありませんでした。

しかし、ついにWindows10 April 2018 UpdateからHyper-Vに対応したAndroidエミュレータが使えるようになりました!これによりIntel HAXMを使わずにサクサクエミュレータを使うことができます!

2018/05/10時点でbetaの機能を使うため、その点だけ留意してください。

参考記事: Hyper-V Android emulator support | The Visual Studio Blog

手順

今回の環境

  • Windows10 Pro April 2018 Update(1803)
  • Android Studio 3.1.2

Hyper-Vを使うため、Home版のWindowsではできません。また、April Updateからの機能を使うため、最新のWindows10である必要があります。

Hyper-Vの有効化

コントロールパネル -> プログラムと機能 と進み、左にあるWindowsの機能の有効化または無効化を選択します。
hyper-v0.png
Hyper-V とWindows Hypervisor Platform にチェックをつけてOKを押します。
ss-1.png
Windowsを再起動します。

Hyper-V対応エミュレータのインストール

Android Emulatorのバージョンが27.2.8以降であればこの作業は不要です。
2018/05/10時点ではこの作業が必要です。

Android Studioの設定を開き、 Appearance & Behavior -> System Settings -> Updates と進みます。
1.png

ここで一時的に Beta Channel にして、Applyを押します。

次に Android SDKに飛び、 SDK Toolsから「Android Emulator」を27.2.8以降にバージョンアップさせます。

2.png

終わったらStable channelに戻してOKです。

エミュレータの作成

Android Studioから普通にエミュレータを作成します。Hyper-Vが有効になっているふじこふじこと怒られますが、作成自体はできるのでこのまま作成します。

3.png

エミュレータの起動

2018/05/10時点では下記の作業が必要です。
残念ながらAndroid Studio3.1.2時点ではHyper-Vが有効の状態では作成はできても立ち上げることはできません。なので、コマンドからエミュレータを起動させます。

その前にHyper-Vを使ってエミュレータを立ち上げる用の設定を行います。

4.png

エクスプローラーから下記のフォルダに入ります。

C:\Users\{ユーザー名}\.android

ここに新たに advancedFeatures.ini ファイルを作成します。
メモ帳で開いて WindowsHypervisorPlatform = on と書いて保存します。

次に、emulator.exeがコマンドから実行できるようパスを環境変数に登録します。

C:\Users\{ユーザー名}\AppData\Local\Android\sdk\emulator

これでようやく起動に必要な準備が整いました。
コマンドからエミュレータを実行してみましょう。

emulator -avd {エミュレータ名}

Dcw6Q4VV4AAJMEt.jpg-large.jpeg

(スクショでは -accel auto をつけていますが、なくても動きました)
ログにWindows Hypervisor Platformの記述があるので、Hyper-V上で動いているようです。

みなさんもサクサクAndroidエミュレータを使ってサクサクな開発ライフを!