Android Emulator
Android Studioに付属している公式のエミュレータは仮想化にHAXM(Hardware Accelerated Execution Manager)を利用しており、HAXMはIntel製CPUしかサポートしていませんでした。
AMDユーザはAndroid Emulatorを利用できない状態でしたが、2018年にエミュレータがAMD製CPUをサポートし、Windows Hypervisor Platformを利用することによりエミュレータを利用可能となりました。
※ Windows Hypervisor PlatformはWindows 10 Homeでも利用できます。
Windows ver.1903からのクラッシュ
エミュレータが起動できて順調だったはずですが、残念ながら2019年に新たな問題が生じ、Android Emulatorがクラッシュする状態となっています。
developercommunity.visualstudio.com
実際にエミュレータを起動させてみると一度立ち上がりはしますが、以下のエラーが出て終了してしまいます。※パス等一部修正しています。
00:00 Emulator: ***\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: WHPX: Failed to emulate MMIO access with EmulatorReturnStatus: 2 (InternalEmulationFailure ) 00:00 Emulator: ***\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: whpx_vcpu { emulator=***, window_registered=false, interruptable=true, tpr=0, apic_base=fee00900, interruption_pending=false } 00:00 Emulator: ***\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: WHV_MEMORY_ACCESS_CONTEXT { Instruction={ size=16, bytes='A1 F0 00 E0 FE 80 CC 01 A3 F0 00 E0 FE C7 05 50 ' }, AccessInfo={ AccessType=0, GpaUnmapped=1, GvaValid=0, AsUINT32=4 }, Gpa=fee000f0, Gva=0 } 00:00 Emulator: ***\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: WHPX: Failed to exec a virtual processor 00:00 Emulator: Warning: QObject::~QObject: Timers cannot be stopped from another thread ((null):0, (null)) 00:00 Emulator: Process finished with exit code 3
どうもWindows ver.1903からのバグのようで、つぎの(つぎの)アップデートの2020年まで問題は修正されないようです。
2019/07時点での解決策(ただしチャレンジ)
上記でリンクしたコミュニティによると、Windows Insider Programで最新版のビルド18932を適用すれば修正できるようです。
ただし、同ビルドは安定版ではなく、また適用されるとInsider Programの設定をスローに戻せなくなってしまうようなので(戻すにはクリーンインストールが必要)、今後の利用に支障をきたす可能性があります。
実験して支障がないか紹介したいところですが、こわくて実行できませんでした。 業務用のPCはIntel CPUなので、そこまで困っていないというのもあります。肝が据わっていなくてすみません。
売り上げランキング: 280
AMDのシェアはIntelを追い越す勢いだそうで、AMD好きとしては引き続き応援したいところです。
ただニッチな開発の面でみるとこのような問題がおこる可能性は高いわけで、占有率トップの製品を利用すべきかなと悩んでしまいますね。
追記
最新ビルドをインストールして解決しました。