Running Android 4.3 On A Virtual Machine

back to tech articles
VirtualBox 4.3.6, Android 4.3 x86

In case you’ve been farming lentils in the Turkish lowlands for a few years, you may not be aware that some kind folks have created a PC-friendly version of Android. Today I’m going to show you how to get this running in a virtual machine for testing or development purposes, or just for fun.

What you will need.

Well, it’s probably a good idea to tell you what I have as well. Those familiar with virtualisation will know that hardware can play an important factor in getting things done. Here’s the important stuff:

  • AMD Quad-core FX Processor.
  • Windows 7 Ultimate, 64-bit.
  • ATI (AMD) graphics card.
  • Wirleless, Atheros-based PCI NIC.

I can’t guarantee that this will work the same way or any better on an Intel-based platform, but my guess is that it will work, and probably much better. Anyway, in addition to some hardware, you will need the ISO image for the version of Android you want to run. I’m using the android-x86-4.3-20130725 ISO image. Grab your preferred version from the android-x86 Google code project page.

The Virtual Machine

Once you’ve got an ISO, launch VirtualBox and create a new machine. Choose a name for the box and set the type to Linux, and the version to Linux 2.6 / 3.x. Don’t use the 64-bit option; remember that we are installing an x86 (32-bit) version of Android.

Android_vm_001

As for resources, I tried a few different configurations and the following worked out best for my particular machine:

  • 1 Physical CPU core @ 100% (3.8Ghz).
  • 1024MB RAM.
  • Disable audio unless you absolutely need it.
  • Disable the Floppy Drive controller.
  • The HDD should be at least 3GB; I’ve opted for 5GB.

Video settings are important for this type of machine – it’s no secret that Android throws a lot of eye-candy into it’s new OS’s. I’ve given my machine 128MB of video memory and access to the graphics card’s onboard 3D acceleration.

Android_vm_002

And finally, there’s one setting you must disable on AMD-based systems, otherwise the boot loader slips into an endless cycle of doom; the AMD onboard virtualisation technology, AMD-V. The setting is on the System tab. Clear the checkbox and ensure that the host’s pagefile is also not being used by the guest (it should be grayed-out after unticking AMD-V).

Android_vm_003

With that done, we’re ready to boot up.

The Machine

If all goes according to plan, the virtual machine will boot from disk and we are presented with an installer prompt.

Android_vm_004

You will want to choose the final option, Installation. You could, of course, choose to run the live CD version in which case you are done. Go reward yourself with a cup of coffee and a celebratory tweet.

Once you hit installation, files are copied to the machine to prepare the system for the operating system. Even though Android is a phone-OS, it’s based on the Linux kernel, and so the nuts and bolts work like a regular operating system.

Once the files have been copied over, the installer needs a partition to use.

Android_vm_005

Choose the Create/Modify partitions option. From the partition manager screen:

Android_vm_007

We will want to choose [New], then [Primary] and then just hit Enter to use all of the available space on the HDD. A new partition is created with the name sda1.

Android_vm_006

If you highlight the [Bootable] option and press Enter, you will notice that a new flag appears under Flags titled Boot. That means this partition will be bootable and will load our OS on boot. Yay!

Once the Boot flag is set, move to [Write], type yes at the prompt and hit enter. The partition is written to disk and after a few seconds we end up back at the same screen. We may now leave this boring sea of gray and black. Navigate to [Quit] and hit enter.

We now have an active, bootable partition.

Android_vm_008

Highlight the new bootable partition and hit enter. We want to format it with the ext3 filesystem. Hit enter and Yes to confirm.

Android_vm_009

Formatting gets underway and afterwards, the installer prompts us to install GRUB boot loader.

Android_vm_010

Choose Yes. Next, the installer offers the option to install the /system directory as writeable. Unless you specifically intend to use this OS for development of new Android apps, I’d choose No here.

Android_vm_011

Installing Android-x86

After installing the main OS, we are promted to either reboot the system or load up Android.

Android_vm_012

Well, we made it this far, let’s load her up! You will see a flickering ANDROID screen for a good while during the first load, after which first run kicks in.

Android_vm_014

Congratulations, Android on a virtual machine. Don’t forget to remove the ISO image from the “CD/DVD” drive of the virtual machine before reboot – we don’t want you to think it didn’t work! Here’s the main screen for your enjoyment:

Android_vm_015

One last hint; you might have trouble navigating what is essentially a touch system using your mouse. If that is the case, disable mouse integration from the VirtualBox Machine menu and you should be good to go.

Android_vm_013

By default, Right + Ctrl gives you back to the host system.

Enjoy!