How to install and run Android VM on VMware Player

Android-x86 is a port of the Android OS for x86-based processor architecture. If you want to run Android OS on x86-based PC, netbook or laptop hardware, you can install Android-x86. In this guide, I will show you how to install and run Android-x86 as a VM on VMware Player.

First, download an iso image of Android-x86.

$ wget http://android-x86.googlecode.com/files/android-x86-4.0-RC2-eeepc.iso

Create a new virtual machine template on VMware Player. Choose "Use ISO image" option to use the downloaded iso file. Set disk image size to 2.5 GB. Memory will automatically be set to 256 MB. Before finalizing the New Virtual Machine Wizard, uncheck "Automatically power on this virtual machine after creation" since there is one thing to do before powering on the VM.

Open .vmx file of the new virtual machine, and change:

ethernet0.virtualDev = “e1000"

to

ethernet0.virtualDev = “vlance"

Power on the VM. Once VM boots up, you will see the following screen. Choose "Install Android-x86 to harddisk"

Next you will see "Choose Partition" window. Click on "Create/Modify partitions" menu. This will lead you to a disk partition editor menu. Use the arrow key to choose [New] to create a new partition.

Then choose [Primary] to create a new primary partition. Accept the default to set it to maximum size, and hit Enter. Use the arrow key to choose [Bootable] and add the “Boot” flag to the partition. Select [Write] to confirm the partitioning, and quite the partition editor menu.

You are back to the “Choose Partition” window. You should now see an additional option to install Android on "sda1 Linux". Choose this option and proceed.

Select "ext3" in the "Choose filesystem" menu. Confirm when asked if you want to format the drive. Confirm again when it asks you to install the GRUB boot loader. When asked whether to install /system as read-write, choose "Yes". This is because you will need to modify /system after installation. In general, mounting /system as read-write makes it easier to debug, at the cost of more disk space and longer installation time. If you are asked to create an SD card, go ahead and create one.

The installation will now proceed. At the end of installation, you will see the following screen. Go ahead and reboot Android VM.

After Android VM finishes booting up, you will see the following screen. At this point, network is not properly set up. So skip Google signup process.

Proceed to open Terminal Emulator app on Android. It will give you a console interface. First, switch to the root, by typing "su". Confirm when you are asked to grant superuser permission request.

As the root, verify network settings as follows.

# ifconfig eth0
eth0: ip 192.168.1.10 ask 255.255.255.0 flags [up broadcast running multicast]
# ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 metric 206
default via 192.168.1.1 dev eth0 metric 206

At this point, you will notice that DNS resolution does not work.

# ping google.com
ping: unknown host google.com

You need to configure a DNS server by appending the following line to /etc/init.sh. In this example, I am using Google's public DNS server (8.8.8.8).

# vi /etc/init.sh
setprop net.dns1 8.8.8.8

Finally, reboot the VM again to finalize network settings. Now DNS lookup should work, and you should be able to fully use networking.

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

The following two tabs change content below.
Dan Nanni is the founder and also a regular contributor of Xmodulo.com. He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.

38 thoughts on “How to install and run Android VM on VMware Player

    • If you have follow the instruction here, you will have an active wired connection (via eth0) in your Android VM. So you should be able to access your Google account. You don't need wifi connection for that.

      As for installing apps, note that Google Play store is only available for licensed Android devices. So it's not available in Android-x86 default installation. You can install .apk files manually.

      • Hi Nanni,

        Though I can ping google.com in the VM, I still encounter the "no wifi connection" error when I try to set up my google account. What I should do to force the VM to connect to internet through eth0?

    • did install it starts up. i didn't adjust the vmx file though. now when it boots up i can't get past the android bootscreen cuz simply my mouse can't click anything. is this cuz i didn't adjust the file?

  1. I selected install /system as read-write
    started Terminal Emulator and used su to grant superuser permissions
    now vi says at the bottom "- /etc/init.sh [Readonly]"
    when I try to "chmod 664 /etc/init.sh" it says "Unable to chmod /etc/init.sh: Read-only file system"
    How do I fix this?

    • Never mind, I've fixed it. I reset it and started it in Debug mode, then I was able to edit the file in vi. ("I" for insert mode, type new line, Esc, :w :q)

      Reset it again and Android OS started and I'm now able to ping google.com.

  2. I've followed your instructions to install Android 4.2 under VMWare 9 for Windows but after the install Android doesn't show any desktop or something like that. I've chosen OS type os "Other Linux 2.6.x kernel" (the latest possible version) but it didn't help. What should I do to make the things work?

  3. I successfully installed Android-x86 4.0 R1 for the Eee PC (http://android-x86.googlecode.com/files/android-x86-4.0-r1-eeepc.iso) under VMware Fusion 5. When I created the virtual machine, all I had to change was the guest operating system type (I chose Ubuntu) and the hard disk bus type (I changed it from SCSI to IDE). The other settings remained at their defaults. I was able to partition the virtual disk and install Android, and I was able to sign into my Google Account immediately as part of the setup process. After completing the installation, I was also able to download Firefox from the Google Play Store.

    • I forgot to mention that after I installed Android, I chose the option to run Android right away, which leaves the installation CD mounted. If you decide to reboot instead, leave the CD image connected to the virtual machine, otherwise Android will hang at the logo screen. If you are stuck there, connect the CD image and reboot - the first boot process will rerun itself at that point (where it prompts you to configure the time and date and to log into your Google account). You will be able to boot Android without the CD connected to the virtual machine later.

      Also, I found that when the first boot process redirected me to log into my account using the web browser (likely because I have multi-factor authentication enabled), the keyboard input method was messed up. It seemed like the caps lock or shift key was stuck on or something. I don't know what combination of fiddling got it to work, but I tried tapping the shift keys and toggling the caps lock key. Hopefully, you'll be able to get it to work, too.

      Do not try to enable WiFi in the settings. Doing so appears to disable the Ethernet interface, and besides, it won't work under VMware. Just ignore the "No Internet connection" warning.

      I haven't been able to get Bluetooth working either, probably because of missing drivers.

      • I realize this is an old post, but maybe this response will help someone doing desperate web searches like me.

        I have not determined exactly what causes the caps-lock problem, but I have had it happen multiple times - often in the middle of entering a URL in the browser search bar. The magic step to unlock it seems to be to hold down the left shift key while typing any active key (letter, number, etc). Once you do this, the keyboard will behave as expected.

  4. I have this working on VMware / Win 8. However, although the browser works, I cannot download anything.

    Also, once the lock screen kicks in, I cannot unlock - the cursor will not allow the padlock logo to move.

  5. Looks like Android 4.3 works in VMWare Player... two things I need now

    1) how does one change the resolution... tried setting it in VMWare Player and that didn't work...
    2) how does one get sound working?

    Thanks

  6. Hi,

    I have Android X86 running on VMware 9 in Win8.

    Can I access files on Android from Win 8? I also have a WinXP VM and can access some of those from Win8.

    When Android starts, I can open it by sliding lock icon to right. If android locks again due to inactivity, it can not be unlocked.

    Can not set up gmail. Enter gmail app but after selecting [existing] or [new] get blank black "settings" screen.

    Any help appreciated

  7. I typed in ifconfig eth0 on terminal emulator. It tells me "eth0: Cannot assign requested address" What do i do here?

  8. Hello, great guide up until DNS configuration. After finding the Terminal Emulator, and typing "vi /etc/init.sh" I got no idea how to proceed. I opened the .sh file (i suppose) but I cannot type anything since it says [Readonly] at the bottom of the file.

    And even if I could - exactly where should I append the setprop line? How do I after that save the config and exit the "vi"? And lastly how do I reboot? (Yes I'm a noob!)

    Hoping for an answer, thanks.

    (Also, why change the ethernet0.virtualDev setting from "e1000" to "vlance"?)

  9. For people who don't get the last part:

    When you have opened init.sh file in vi, you press 'i' (the letter) and you see the cursor change, now you can type.

    Type on top of the file:
    setprop net.dns1 8.8.8.8

    Now press 'ESC' button, the cursor changes back.

    Now press:
    :wq
    You see these characters appear at the bottom of the screen. Press
    The file is now saved (w=write, q=quit).

    Now the files is edited, you can reboot the machine.

  10. Oh and when you do get back up, don't click the wifi connection because it will lock up (as mentioned above).
    I don't seem to get a network connection even though I added the DNS server line, pinging google.com gives me the same error as before I added the line and rebooted.
    Does it matter what type of virtual network I have enabled (Vmware Workstation), android-x86-4.0-RC2-eeepc.iso?

  11. One way that worked for me to change the screen size and resolution, is to press "e" twice at Android start menu to reach grub edit menu and enter:
    vga=ask
    at the end of boot entry, then you can select whatever the size/resolution you want from the menu, ( it's actually a code number) I chose code 351 (1920x1200x16), and I'd recommend a Color Quality 16 bit, (AxBx16). Then press "b" to boot to start Android.

  12. just a couple of notes about the Terminal Emulator steps (for impatient people like me):
    1. don't forget to first write "su" when you open the Terminal so you don't get [read-only] when you open init.sh, 2. you open the file like it says and check that it doesn't say "read-only" at the bottom, 3. after inserting the line (I inserted it before the last line, don't know if that was necessary), don't forget to press Escape, write a colon (:) and then "wq", 4. try opening the file to see if it was saved before rebooting

  13. vmware says internal error when i switch on the android after changing ethernet0.virtualDev = “e1000" to ethernet0.virtualDev = “vlance".

  14. How can I configure the network on the VM if I'm behind a proxy? When I execute netcfg on the emulator eth0 is UP but network is not avalaible.

Leave a comment

Your email address will not be published. Required fields are marked *

Current ye@r *