AVD(ADVではない)を動作させるAndroid Emulatorは、x86系、Arm系、MIPS系の3種類のプログラムがあります。このうち標準的に利用されるのはx86系ですが、これを動作させるためにはCPUがハードウェア的に持っている仮想化支援という機能が有効になっていて、尚且つその支援機能とそれを利用するプログラムを仲立ちするプログラムが必要になります。それらが全て正常に稼働して、初めてx86系のSystem ImageによるAVDを稼働することができます。
現状出ている
Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!
というエラーは、Android Emulatorのプログラムが仮想化支援機能を利用できない状態にあることを示しています。その原因としては、主に
- CPU自体が仮想化支援機能を備えていない。
- BIOS(UEFI)によって仮想化支援機能が無効化されている。
- 仲立ちするプログラムが正常に導入されていない。
- 仮想化支援機能を利用する他のプログラムが先に動いているため、競合している。
という4つが考えられます。これらが妨げになっていないか、一つ一つ点検していく必要があります。
1が原因であった場合は絶望的で、PCを改める以外に方法がありません。2に関しても仮想化支援機能を有効にするメニューを持っていないBIOSを搭載している機種が極稀にあるようで、BIOS更新でも解決できないとしたら、やはりPCを改める以外に方法がありません。
(補足)CPUやM/Bなどを交換すればいいのではとか、そういうツッコミは無しにしてください。そこまで踏み込むときりがないので。
3の「仲立ちするプログラム」は、標準的にはHAXM(Hardware Accelerated Execution Managerの略)と呼ばれるIntelの提供するプログラムを用います。しかし、これはIntel製CPU専用なので、RyzenなどAMD製CPUでは機能しません。その場合、Windows 10のPro以上のエディションで提供されるWindows Hypervisor Platform(WHPXと略される)と呼ばれるプログラムを用いれば動作させることができるという情報(情報源は公式ブログなど)もあるのですが、私自身がRyzenでもAVDが稼働することをこの目で確かめたことはないので「提案」までとさせてください。
4でありがちなのはHyper-Vのサービスが稼働していたという例で、そのサービスを動かしておく必要性がないのであれば無効化或いはアンインストールしてしまえばいいし、またAVDを使いたい間だけ止めておくという手もあります。また、前述のWHPXを用いれば、Hyper-Vと並行利用することが可能です。他にはVirtualBoxのような仮想化ソフトウェアを同時利用しているというパターンで、この場合もその原因となるプログラムを止めておくことが対処となります。
なお、AVDを実用的な速度で動作させるためには、大量のメインメモリーが必要になります。8GBくらいでは「何とか動く」程度にしかならないでしょう。16GB以上搭載していることが望ましいと思われます。
具体的に何をすればいいのか?ということについては、別に投稿された質問につけた私の回答にあるQiitaの記事に全部書いてあるので、そちら参照で。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/06 18:44 編集
2019/02/07 04:14
2019/02/07 08:18