I am learning cross platform mobile app development for the first time and a few days ago had been struggling to get Visual Studio 2017 to deploy properly to ADV emulator. It was way too slow, unresponsive, and stall Visual Studio into a busy/wait state that require abrupt termination of the devenv.exe process even after closing the emulator.
That was the short summarised story; the long story with all the details and errors was submitted in another post (24 Oct) which for some reason got stuck in some moderation vacuum and hasn't appeared in this forum again.
ADD NOTE: It seems editing posts for typing mistakes sends them to some hidden place. So I've had to re-post this question.
Anyway, I understood a large contributor to the slow performance is the lack of Intel HAXM to accelerate the emulated device. Since I have Hyper-V running (on this Surface Pro 4) and that appears to be mutually incompatible with HAXM. Also I believe even with HAXM available it would only boost Intel Atom x86 virtual devices? ARM-based devices would still run punctured, and my target device was ARM.
But eventually I got around to learn that Visual Studio has its own emulator for Android separate from the default Android SDK emulator, which utilises Hyper-V. I looked at the installer options and sure enough it was there, so I checked it in. On re-launching VS2017 I saw that it added four more new target VisualStudio-based Android devices for my Xamarin.Android project. I tested a deploy to one of those devices and then a similar warning popped up
VisualStudio_android-23_x86_phone will run unaccelerated
This emulator does not have hardware acceleration enabled, and its performance will be impacted. We recommend to either:
- Enable hardware acceleration on this machine by installing Intel© HAXM and disabling Hyper-V (requires a system restart).
I am confused what's happening here; isn't the Visual Studio Emulator for Android supposed to use Hyper-V?
Also when I check out the new Tools > Visual Studio Emulator for Android... option I can only see device profiles up to API level 23. No option for level 24/25?