Search code examples
jquery-pluginscordovaandroid-emulatorandroid-x86

Does Android X86 in virtual machine represent a real alternative to Android Emulator?


I am developing an Android application with jQuery Mobile, Phonegap and the jQuery plugin for Google maps. The emulator takes too long to load a web page, making the test of my code a painful operation. I have installed Android x86 on a virtual machine and linked it to Eclipse to debug my application.

This solution is faster than the emulator but the problem is that my application always crashes, which is not the case in the emulator. This leads me to question: is Android x86 on a virtual machine a stable alternative to the emulator?


Solution

  • In my experience, the answer is definitely Yes.

    Unlike the situation you are describing, my application never crashes on the Android-x86 VM and since the SDK's emulator doesn't support microphone input, it is actually the only way to test my app without having to purchase a real device for each variant of Android.

    Also, as you noted, it runs much faster. Contrary to Google's claim for "near native speed", Android's SDK runs extremely more slowly than Android-x86 and it is certainly slower than a real phone or tablet.

    The fact that your application crashes when run on an Android-x86 VM may actually be a good thing: An opportunity to check for ways to make your application more robust in unforeseeable circumstances (you know, there are many types of devices out there).

    The only downside to Android-x86 is that it is only available up to ICS (Android 4.0.4) which means that you cannot test your application in Jelly Bean (Android 4.1.x). That may be solvable by building your own VirtualBox-AOSP.