Monday, April 02, 2012

Android-x86 ICS on VirtualBox

Awhile back I stumbled across a pre-made .vdi file with Android 4.0 ready to go for VirtualBox. The stock releases of Android-x86, which I had been using for Android 2.x systems in VirtualBox to test my Android app, hadn't yet supported ethernet in the 4.0 iteration. I was particularly happy to find ethernet support in the pre-made image, but it did have its limitations in terms of customization and SD card support (or at least documentation of them), for which Android-x86 had been very adept at both.

Fortunately, there appears to have been active discussion on this very topic on the Android-x86 mail list, and new builds have appeared that support ethernet out-of-the-box along with many other various improvements. So now if you need to test your Android app without having to plug in your device, you can once again take full advantage of the full suite of Android-x86 support. Here are some of the improvements I found:

  • Sounds support: now even button presses have a satisfying click, despite the lack of haptic feedback on my laptop.
  • Ethernet: with ethernet support, I can now connect directly from the host to the virtual machine via ADB for launching and debugging Android apps.
  • Google Play Store: somehow they managed to include the old Android Market, which seamlessly gets upgraded to the latest and greatest Play Store after first launch.
I had previously been quite excited and hopeful about the announcements of Intel x86-based Android support in the default Android emulator, which spoke of greatly improved performance using hardware-based acceleration. In my cursory tests, however, I continued to see a considerable performance lag both compared to my own actual device as well as the VirtualBox-based Android-x86 image. Perhaps I don't have the correct settings, or the Intel-based images may improve, but for now I'm happy to stick with the VirtualBox-based setup.

So how does one actually get the Android-x86 4.0 distro working in VirtualBox? The steps are similar to the previous description, with a few changes:
  • Grab a special android-x86-4.0-eth0 build, which includes the latest ethernet patches. As of the 20120327 build (but not on prior builds), I found that ethernet support allowed not only web browsing, but also the all important ADB access for Android app testing. I installed the "generic" package for use in VirtualBox.
  • Follow the previous instructions for setup and installation.
  • Turn off mouse integration through Machine > Disable Mouse Integration. Otherwise the mouse is nowhere to be found.
  • Turn off display sleep through Settings > Display > Sleep > Never time out. Otherwise after a period the time display can become unresponsive, even though the mouse still moves about.
  • When you want to shut down Android, you can press Ctrl-H to bring up the shutdown dialog (which I could never find in the pre-made image).
Now the big question for me is this: with Android successfully running within Windows, is it possible to replicate the Windows 8 (Metro mobile + classic desktop) experience via Android + VirtualBox + Window 7? Perhaps we shall see.



Post a Comment