Visual Studio Emulator for Android is the best Android emulator on the planet.
Visual Studio Emulator for Android is by far the best Android emulator. Salute to Microsoft!
When it comes to software development tools, Microsoft is still the king.
The official Android emulators are effectively unusable. Genymotion is a significant upgrade, but its subscription is not cheap and more importantly it uses VirtualBox. VirtualBox cannot coexist with Hyper-V required by Microsoft emulators in many cases. In some cases, it can but works at a lower speed without the benefit of hardware virtualization support. VirtualBox is a great tool, but it has its issues. For example, you may not be able to uninstall it after its installation.
Visual Studio Emulator for Android works extremely smoothly. There may be some minor issues to get it started:
- If one cannot log in with its control panel, that should not prevent it from working. Usually rebooting the computer will solve this problem.
- Its network may not work while everything else does. This may be caused by conflicts with other virtual Ethernet adapters such as those for VirtualBox. Disabling them will solve this problem.
It has been painful to debug Android apps because of the crawling speed of using either emulators or real devices. The pain has finally ended.
Google Play Services XAP can be installed so apps can use Google services such as Google Drive.
IMPORTANT: Drag & drop installation does not work if the emulator is run as an administrator. If the VSEFA is started by a button on the toolbar of Android Studio, the emulator is run as an administrator.
Sometime Android Studio may not be able to detect Visual Studio Emulator for Android automatically. In this case, one can connect it manually via the following ADB command:
adb connect 192.168.1.127:5555
where 192.168.1.127 is the network IP address of the emulator. One can find this address by selecting Network tab of Additional Tools of the emulator.
Starting Android Device Monitory my break the connection, so the above command may need to be run again.