New to Linux and the open source world? We have compiled a huge list of resources to help you go through Linux and its distributions. Visit the full Linux guide page right now.

.

android x86 is a free and an open source project to port the android system made by Google from the ARM architecture to the x86 architecture, which allow users to run the android system on their desktop machines to enjoy all android functionalities + Apps & games.

The android x86 project finished porting the android 8.1 Oreo system to the x86 architecture few weeks ago. In this post, we’ll explain how to install it on your Linux system so that you can use your android apps and games any time you want.

Installing Android x86 8.1 Oreo on Linux

Preparing the Environment

First, let’s download the android x86 8.1 Oreo system image. You can download it from this page, just click on the “View” button under the file.

We are going to use QEMU to run android x86 on our Linux system. QEMU is a very good emulator software, which is also free and open source, and is available in all the major Linux distributions repositories.

To install QEMU on Ubuntu(16.04 & 18.04)/Linux Mint/Debian:

sudo apt-get install qemu qemu-kvm libvirt-bin

If you are on Ubuntu 18.10, you need to install different packages:

sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients

To install QEMU on Fedora:

sudo dnf install qemu qemu-kvm

For other distributions, just search for the qemu and qemu-kvm packages and install them.

After you have installed QEMU, we’ll need to run the following command to create the android.img file, which will be like some sort of an allocated disk space just for the android system. All android files and system will be inside that image file:

qemu-img create -f qcow2 android.img 15G

Here we are saying that we want to allocate a maximum of 15GB for android, but you can change it to any size you want (make sure it’s at least bigger than 5GB).

Now, to start running the android system for the first time, run:

sudo qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img -cdrom /home/mhsabbagh/android-x86_64-8.1-r1.iso

Replace /home/mhsabbagh/android-x86_64-8.1-r1.iso with the path of the file that you downloaded from the android x86 website. For explaination of other options we are using here, you may refer to this article.

After you run the above command, the android system will start:

Install Android 8.1 Oreo on Linux To Run Apps & Games 69

Installing the System

From this window, choose “Advanced options”, which should lead to the following menu, from which you should choose “Auto_installation” as follows:

Install Android 8.1 Oreo on Linux To Run Apps & Games 71

After that, the installer will just tell you about whether you want to continue or not, choose Yes:

Install Android 8.1 Oreo on Linux To Run Apps & Games 73

And the installation will carry on without any further instructions from you:

Install Android 8.1 Oreo on Linux To Run Apps & Games 75

Finally you’ll receive this message, which indicates that you have successfully installed android 8.1:

Install Android 8.1 Oreo on Linux To Run Apps & Games 77

For now, just close the QEMU window completely.

Booting and Using Android 8.1 Oreo

Now that the android system is fully installed in your android.img file, you should use the following QEMU command to start it instead of the previous one:

sudo qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img

Notice that all we did was that we just removed the -cdrom option and its argument. This is to tell QEMU that we no longer want to boot from the ISO file that we downloaded, but from the installed android system.

You should see the android booting menu now:

Install Android 8.1 Oreo on Linux To Run Apps & Games 79

Then you’ll be taken to the first preparation wizard, choose your language and continue:

Install Android 8.1 Oreo on Linux To Run Apps & Games 81

From here, choose the “Set up as new” option:

Install Android 8.1 Oreo on Linux To Run Apps & Games 83

Then android will ask you about if you want to login to your current Google account. This step is optional, but important so that you can use the Play Store later:

Install Android 8.1 Oreo on Linux To Run Apps & Games 85

Then you’ll need to accept the terms and conditions:

Install Android 8.1 Oreo on Linux To Run Apps & Games 87

Now you can choose your current timezone:

Install Android 8.1 Oreo on Linux To Run Apps & Games 89

The system will ask you now if you want to enable any data collection features. If I were you, I’d simply turn them all off like that:

Install Android 8.1 Oreo on Linux To Run Apps & Games 91

Finally, you’ll have 2 launcher types to choose from, I recommend that you choose the Launcher3 option and make it the default:

Install Android 8.1 Oreo on Linux To Run Apps & Games 93

Then you’ll see your fully-working android system home screen:

Install Android 8.1 Oreo on Linux To Run Apps & Games 95

From here now, you can do all the tasks you want; You can use the built-in android apps, or you may browse the settings of your system to adjust it however you like. You may change look and feeling of your system, or you can run Chrome for example:

Install Android 8.1 Oreo on Linux To Run Apps & Games 97

You may start installing some apps like WhatsApp and others from the Google Play store for your own use:

Install Android 8.1 Oreo on Linux To Run Apps & Games 99

You can now do whatever you want with your system. Congratulations!

How to Easily Run Android 8.1 Oreo Later

We don’t want to always have to open the terminal window and write that long QEMU command to run the android system, but we want to run it in just 1 click whenever we need that.

To do this, we’ll create a new file under /usr/share/applications called android.desktop with the following command:

sudo nano /usr/share/applications/android.desktop

And paste the following contents inside it (Right click and then paste):

[Desktop Entry]
Name=Android 8.1
Comment=Run Android 8.1 Oreo on Linux using QEMU
Icon=phone
Exec=bash -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda /home/mhsabbagh/android.img'
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;

Again, you have to replace /home/mhsabbagh/android.img with the path to the local image on your system. Then save the file (Ctrl + X, then press Y, then Enter).

[alert type=”warning” icon-size=”big”]Notice that we needed to use “pkexec” to run QEMU with root privileges because starting from newer versions, accessing to the KVM technology via libvirt is not allowed for normal users; That’s why it will ask you for the root password each time.[/alert]

Now, you’ll see the android icon in the applications menu all the time, you can simply click it any time you want to use android and the QEMU program will start:

Install Android 8.1 Oreo on Linux To Run Apps & Games 101

Conclusion

We showed you how install and run android 8.1 Oreo on your Linux system. From now on, it should be much easier on you to do your android-based tasks without some other software like Blutsticks and similar methods. Here, you have a fully-working and functional android system that you can manipulate however you like, and if anything goes wrong, you can simply nuke the image file and run the installation all over again any time you want.

Have you tried android x86 before? How was your experience with it?

.

M.Hanny Sabbagh

Hanny is a computer science & engineering graduate, and an open source software developer. He created his first open source project, which was a Linux distribution, back when he was 12. He retired it later after 4 years after it got more than 100,000 downloads. He has created a lot of other open source software too over the years, and maintains separate online platforms for promoting open source in his local communities. Hanny is the founder of FOSS Post.

27
Join the Discussion

avatar
14 Comment threads
13 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
18 Comment authors
Szabo IstvánLiuweiigorJackLeandro Augusto Nunes Dutra Recent comment authors
newest oldest most voted
Chris Rainey
Guest
Chris Rainey

Awesome! I’ve been waiting for an easy way to do this for YEARS!

I’m gonna try with “GNOME Boxes”, which is what I use for testing distro’s

Thanks!

Luis
Guest
Luis

[root@localhost home]# ls -l total 691400 -rwxr-xr-x. 1 root root 196848 Feb 19 16:27 android.img -r——–. 1 root root 707788800 Feb 19 16:36 android.iso drwx——. 15 lmartinez lmartinez 4096 Feb 19 15:59 lmartinez [root@localhost home]# qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img android.iso No protocol specified (qemu-system-x86_64:6260): dbind-WARNING **: 16:38:20.830: Could not open X display Could not access KVM kernel module: No such file or directory qemu-system-x86_64: failed to initialize KVM: No such file or directory [root@localhost home]#

Carey Pfeuffer
Guest
Carey Pfeuffer

Why do you have to use sudo? Why do you need root to create/run a virtual machine? Would it work without sudo?

LCM
Guest
LCM

I’m trying to Install Android x86 8.1 Oreo on Linux, and when I’m trying to run QEMU, I’m getting the following error.

[root@localhost vmware-tools-distrib]# qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img -cdrom /home/lmartinez/Downloads/android-x86_64-8.1-r1.iso
No protocol specified

(qemu-system-x86_64:40611): dbind-WARNING **: 20:17:57.484: Could not open X display
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
[root@localhost vmware-tools-distrib]# qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img -cdrom /home/lmartinez/Downloads/android-x86_64-8.1-r1.iso

Please let me know if somebody was able to install it, and what I’m doing wrong.
Regards.

DNK
Guest
DNK

Just a heads up, but in Ubuntu 18.10, the libvirt-bin package was dropped in 18.10. It has been split into two packages.

libvirt-daemon-system

libvirt-clients

Nagaraj Tanksali
Guest
Nagaraj Tanksali

Wonderful. Installed beautifully. However the command to install ‘qemu’ didnt work for me. I Simply used synaptic to install qemu. Rest of the installation was easy. Just for confirmation – will uninstalling qemu remove android? – i guess it should.

No Bicycle
Guest
No Bicycle

Thank you.
How to transfer files into this system and use adb with it?

Thanks

Caver1
Guest
Caver1

Everything installed just fine. Google Play works. When I try to start any apps that I download from Goole Play is where the problem is.
They all start and immediately crash.
Thanks

Darby
Guest
Darby

How do you get sound to work? Do I have to set a flag on the qemu command?

Richard Holmes
Guest
Richard Holmes

I tried this and on trying to boot into Android it wanted to look for and connect to WiFi and could not. Suggestions?

Lee Whitty
Guest
Lee Whitty

I selected virtual wifi and it connected through the host PC’s wired network

GreenEyedScorpio
Guest
GreenEyedScorpio

Please help:

sudo qemu-system-x86_64 -m 2048 -boot d -enable-kvm -smp 3 -net nic -net user -hda android.img -cdrom /home/mamascorpio/android-86_64-8.1-r2.iso
[sudo] password for mamascorpio:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory

Leandro Augusto Nunes Dutra
Guest
Leandro Augusto Nunes Dutra

Awesome

Jack
Guest
Jack

I get to the point where I launch from GRUB, but then I get stuck on a screen that shows large flashing “android” logo.

Liuwei
Guest
Liuwei

I have the same problem. Have you solved it, please.

igor
Guest
igor

Thanks for this tutorial!

I haven’t tried it yet, but I aim to do so. What I had tried in the past few days, is running Android x86 and boy was it fast.

Sadly I couldn’t find a way to install mdadm of sorts to have my server-hybrid work as expected. So I installed Ubuntu 18.04 LTS.

Still I would like to keep android x86 for games or easy access. Which brings me to my question:
does QEMU use hardware graphics acceleration? I know android x86 itself did so on my Intel iGPU.