Windows用Androidエミュレータの最新リリースでは今までインテルプロセッサのみ利用できたハードウェアアクセラレータ拡張をサポートすることで、AMDプロセッサ上またはMicrosoft Hyper-Vハイパーバイザ上で実行する際のパフォーマンスの強化を目標としている。
ネイティブでのAMDのサポートはMacとLinuxではすでにかなり前から提供されていたが、Window利用時は使えなかった。Androidエミュレータはソフトウェアエミュレーションを利用しなければならなかったからだ。WindowsのAndroidエミュレータにAMDプロセッサとHyper-Vへのサポートを追加したことで、Googleは開発者コミュニティからの長年の要望2つに対応したとGoogleのプロダクトマネージャ、Jamal Eason氏は記している。
これはマイクロソフトがオープンソース化した新しいAPI、Windows Hypervisor Platform (WHPX)によって可能となった。WHPXは拡張ユーザモードAPIを追加し、ハイパーバイザレベルでパーティションを作成、管理し、パーティションに対してメモリマッピングを設定、仮想プロセッサの実行を制御できるようになった。WHPXで基盤となるハードウェアプロセッサが提供するアクセラレータを活用する命令をエミュレートする仮想プロセッサが作成できるようになった。
AMDプロセッサで実行しているWindows OSの新機能を有効にするには、Windowsの機能の内部にある"Windows Hypervisor Platform"設定を有効にしなければならない。他の要件は次のようなものだ。
- Android Studio 3.2 ベータ以降
- Android Emulator v27.3.8+
- x86 Android Virtual Device (AVD)
- 2018年4月更新のWindows 10
Hyper-Vのサポートで開発者はDockerやHoloLensエミュレータなどを使うプログラムやAzure仮想マシン内部のプログラムと協調して実行する際もAndroidハードウェアアクセラレーションから恩恵を受けられる。今までAndroidエミュレータはHyper-Vを完全に無効にする必要があった。
2>emulator: CPU Acceleration: DISABLED
2>emulator: CPU Acceleration status: Please disable Hyper-V before using the Android Emulator. Start a command prompt as Administrator, run 'bcdedit /set hypervisorlaunchtype off', reboot.
2>emulator: ERROR: x86_64 emulation currently requires hardware acceleration!
2>Please ensure Windows Hypervisor Platform (WHPX) is properly installed and usable.
2>CPU acceleration status: Please disable Hyper-V before using the Android Emulator. Start a command prompt as Administrator, run 'bcdedit /set hypervisorlaunchtype off', reboot.
AndroidエミュレータとしてHyper-Vを同時に使いたい場合、Windowsの機能の内部にある"Hyper-V"設定を有効にする必要がある。これはWindows 10 Professional/Education/Enterpriseで提供されている。加えて通常これはHyper-Vの実行要件であり、基本的にバーチャライゼーション・テクノロジー (VT-x) と拡張ページ・テーブル、Unrestricted Guest (UG) という機能をサポートするインテルのコアプロセッサを使っている。さらに、VT-xはBIOSで有効にする必要がある。
インテルプロセッサでWindowsを利用している開発者は環境設定を変更する必要はない。AndroidエミュレータはデフォルトのIntel Hardware Accelerated Execution Manager (HAXM) 設定を使い続けるからだ。
Rate this Article
- Editor Review
- Chief Editor Action