0

Are the android emulator and other android VMs (like Geny Motion, BlueStack...) faster in Ubuntu (Linux) than Windows? They are pretty heavy in my Windows and I don't know whether I should install a Linux-based OS to develop android apps. Thanks.

1 Answer 1

3

Not sure about Bluestacks, but the Android emulator is usually slow not because it's virtualizing Android, but because it's emulating an ARM processor. When you're emulating an entire CPU (of a different architecture than the host machine) it really doesn't matter what the host OS is; performance is just going to suck.

Something like Bluestacks could, in theory, take advantage of similarities between desktop Linux and Android to run a bit faster, but even then the performance improvement wouldn't be that great. I don't know if any Android runtimes (as opposed to emulators) for desktop Linux exist. That would be cool though, if properly sandboxed.

If you want a pretty fast Android emulator on Windows, I recommend using the Hyper-V-based one from (of all people) Microsoft. It requires an OS capable of Hyper-V (Win8 or later, with a CPU capable of SLAT) but the tool itself is free. Because it uses a hypervisor rather than full emulation, it is fast... but it runs an x86 version of Android, not ARM, so if you want to test an app that uses native code you need to compile for x86, not for ARM (you can recompile for ARM to put it on the store). Dalvik (Java) code should have no trouble, in fact it will quite possibly run faster on your dev machine than on a phone (simply because desktop CPUs are often so much more powerful than phone CPUs). This tool is included with Visual Studio 2015, including the free Community edition, which includes Android dev tools, but you can also get it stand-alone. See this blog post for more info.

1
  • there are already x86 images in Android SDK so no need to use Hyper-V. In fact I discourage using it because it'll cause other hypervisors like vmware or Virtualbox fail to run
    – phuclv
    Apr 6, 2017 at 4:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .