Installing Android on Raspberry Pi 4 with Play Store

Installing Android on Raspberry Pi is difficult to achieve. I previously created a tutorial on this topic using Emteria and a Raspberry Pi 3, but Emteria is a paid software, and the system was a bit slow and unstable on Pi 3. Today, I’ll give you an alternative solution that allows you to run Android on Raspberry Pi 4.

Konstakang created a custom image of LineageOS, an open-source version of Android, that can be installed on Raspberry Pi 3 and 4. Then, adding Google Apps to the SD card will provide a complete Android version that can run on your Raspberry Pi.

In this tutorial, I will guide you through all of the steps with LineageOS, which is a good alternative to running Android on Raspberry Pi 4.

Edit: I recently tested this Android version with a touch screen for Raspberry Pi (I have this one from SunFounder to be precise), and it works very well. Android is designed for touch devices, so it makes sense :).

If you’re looking to quickly progress on Raspberry Pi, you can check out my e-book here. It’s a 30-day challenge where you learn one new thing every day until you become a Raspberry Pi expert. The first third of the book teaches you the basics, but the following chapters include projects you can try on your own.

What is LineageOS?


LineageOS is a free and open-source operating system, like most systems I introduce on this website.
The first thing to understand is that LineageOS is made for smartphones and tablets, it’s not an emulator or something specially dedicated to single-board computers.

LineageOS was created in 2016 and is a fork from CyanogenMod. It comes with a few basic applications (browser, calendar, calculator, etc.), but it doesn’t come with any Google applications or any useless preinstalled software.

If you are interested, you can get further information on their website.

Does LineageOS work on Raspberry Pi?

Well, I won’t write about something that doesn’t work on Raspberry Pi on this site. So yes, there is a way to make LineageOS work on your Pi, but it’s not with the official release.

As you can see on the download page here, LineageOS is available for many devices (Samsung, Huawei, Sony, etc.), but not for anything other than smartphones and tablets.

Get My Commands Cheat Sheet!
Grab your free PDF file with all the commands you need to know on Raspberry Pi!

However, there is an unofficial version available on this website for Raspberry Pi 4.
It’s not the latest LineageOS version (Android 11 at the time of writing), but it’s good enough for now.

So, I’ll show you how to install this version on your Raspberry Pi 4. There is also a version available for Raspberry Pi 3 if you use this model.

One good idea is to use it with a touch screen. This way you can get a real Android tablet for cheap. As explained in the Introduction, I have tested it with a 7″ one from SunFounder, and it works really well (you can read my review here).

Installing Android on Raspberry Pi

Here are the required steps to install Android on Raspberry Pi:

  • Download the LineageOS version for Raspberry Pi from Konstakang.
  • Download OpenGapps and save it on a USB key.
  • Flash the LineageOS image on an SD card and start the Raspberry Pi.
  • Reboot in recovery mode to install the Google apps.

I will now explain each step in detail.


You’ll need to download several things before starting the installation process. It’s not always easy to download it directly from Raspberry Pi, so I recommend downloading it from your computer. I will explain what to do with each file later.

So, download all these files on your computer:

  • Balena Etcher.
    We’ll use it to flash the SD card. It’s available on any operating system.
    You may already have it or prefer another tool, which isn’t a problem.
    Raspberry Pi Imager will work, you just need to choose “custom OS” in the OS selection menu.
  • LineageOS for Raspberry Pi 4 or LineageOS for Raspberry Pi 3.
    Download it from the Konstakang website, and select the latest version available for your device:

    Important: If you are interested in Android TV, the procedure is not exactly the same. Read this article instead.
  • NikGapps or OpenGapps.
    The alternative is to install Google Apps on a custom Android device.
    It looks like OpenGapps is no longer updating their packages (or at least they are always very late after a new Android release), so I now recommend using NikGapps instead.

    Click on the links, then “Download Now”.
    On SourceForge, go to “Releases” and open the latest folder.

    Download the version you want, the “Core” package is enough for a Raspberry Pi, the important part is Google Play Store.

I recommend copying the “NikGapps” or “OpenGapps” file to a USB key.
It’s easier than downloading it from the Android system. I’ll show you in the last part how to install them. Attention: make sure the USB key is formatted in FAT32. It won’t work with another file format.

Flash the SD card

Next, we need to prepare the SD card and as usual, I’m using Balena Etcher to do this:

  • Install Etcher if you haven’t already.
    I have a complete guide on how to use Etcher on Ubuntu here, but it’s very similar on other systems if you need more details.
    And if you are more familiar with Raspberry Pi Imager (link to my tutorial), you can use it too (choose Custom image in the OS list).
  • Start it, you’ll get something like this:
    etcher menu
  • On the left, pick the LineageOS image file from your Downloads directory.
    Then insert your SD card into your computer, and Etcher should select it automatically.

    And finally, click on “Flash!” to start the copy.

A few minutes later, your SD is ready and you can insert it into your Raspberry Pi.

Boot on LineageOS

Start your Raspberry Pi. The first boot will take a bit longer, as the system initialize the configuration in the background.

Depending on the version you downloaded, you may have a welcome wizard to adjust the settings.

Note: With the latest version, my display was not adjusted correctly. Use the keyboard arrows to reach the start button on the first screen. Almost all the following steps were working fine, just have to do the same thing once or twice after that.

Then, you’ll access directly the Android desktop.

Depending on your goal, you can start working with the basic apps (browser, file browse, etc.).
To access them, scroll up the bottom bar.

Get My Commands Cheat Sheet!
Grab your free PDF file with all the commands you need to know on Raspberry Pi!

But you’re probably not here to only use the email and browser apps, there is not much you can do with only the default apps. That’s why we’ll quickly move to the Google Play Store installation.

Android Configuration

Before going further, now is a good time to adjust the default configuration if needed. As there is no wizard anymore to guide you with the configuration, you can go to the “Settings” app if needed to configure your Internet connection, language, date/time, etc.

I’m using my Raspberry Pi 4 with the Ethernet cable plugged in, but it doesn’t work and I have no network. If you are in the same situation, start by configuring the Wi-Fi network. It will then synchronize with the time server and fix the date/time for you.

Installing Google Play Store on Android

This is always the most complex part of an Android installation, for any device or system. As we don’t use an official Android image and device, there are additional steps to enable Google Play Store. But Konstakang has made this simpler, and you’ll have everything your need on your device quickly.

Reboot in recovery mode

We’ll need to boot in recovery mode to install OpenGapps. To do this, we need to unlock access to this mode by enabling the advanced restart.

Here is how to do this:

  • Open the “Settings” app.
  • Go to “System” > “Advanced settings”.
  • Enable the first option “Reboot to recovery”:

    On some version, it’s under another submenu, search for “recovery” in the search engine if you can’t find it there.
  • Scroll down the notification bar and click on the power icon.
    Then click on Restart and then Reccovery:

    In theory, F5 should work to display this screen, but it doesn’t work anymore once the reboot to recovery is enabled.

Plug your USB key with OpenGapps on it, and wait a few seconds for the recovery mode to start.

The system will now reboot on recovery mode.

We can now move to the Google Apps installation.

Install Google Apps

Once in recovery mode, follow this procedure:

  • Click on “Mount”.
    This is where you can choose which partition to mount.
    We need to mount the USB key, so check the USB item in the list.
  • Then, back on the main menu, click on “Install”.
  • Click on “Select Storage” and choose the USB key.
  • Finally, your files appear.
    Click on the NikGapps or OpenGapps file to install it:

    Swipe to confirm, there is nothing else to change.
  • Don’t reboot after the installation, as it will come back to recovery mode.

If everything is OK, you can now restart in normal mode, choose “System” in the menu when you click on Reboot.

That’s it, your Raspberry Pi will now restart in normal mode.
Once on the Android desktop, you can see that Play Store is available in the apps.

Sign in to the Play Store

The last step is to sign in on Google Play, as you would for any Android device.
Open the Play Store app and try to sign in with your Google account:

You may get some error messages during this process, asking if you want to close or wait:

Keep choosing “Wait” until you manage to log in.

Once logged in, you can close the app and reboot the device. After the reboot, everything should be fine.

You can now install any app or game you want on your Raspberry Pi :).


I have recorded the whole process in video simultaneously. You can watch it here if you want:

Subscribe to the RaspberryTips YouTube channel to receive new videos directly in your feed:

Recommended stuff for Android on Raspberry Pi

  • Raspberry Pi 4: If you don’t have one yet, I highly recommend switching to the fastest Raspberry Pi model available. Android is still a bit slow on any other model.
  • SSD drive: If you want better performance, a Raspberry Pi and SSD card allows you to run systems really fast. My favorite model is this one. SSD drives are now really affordable, go for it! (USB adapter included).
  • Touch screen: Android is built to use on a tactile screen, this one is cheap and allows you to have a better experience with your new Android system.
  • RasPad 3: This has been my best experience so far. A “real” tablet with a battery and a touchscreen, it’s perfect to use with this Android build. Check the link for more details.

Related questions

Can you run AndroidTV on a Raspberry Pi?

Android TV only works on a Raspberry Pi 4, with a custom image of LineageOS from Konstakang. It can’t run on Raspberry Pi 3B+ and lower with this method.

If you have a Raspberry Pi 4 or 400, you can follow the same steps and pick AndroidTV instead of Android while downloading the image. The other steps are very similar (the interface is slightly different, but you’ll find your way thanks to the developer website).

I also have a video on this topic if needed:

Get My Commands Cheat Sheet!
Grab your free PDF file with all the commands you need to know on Raspberry Pi!

If you are looking for exclusive tutorials, I post a new course each month, available for premium members only. Join the community to get access to all of them right now!


That’s it! We finally found a way to have Android working better than ever on Raspberry Pi. And it’s not very difficult to install, we don’t need any account (except Google), and it’s free.

Get My Commands Cheat Sheet!
Grab your free PDF file with all the commands you need to know on Raspberry Pi!

Additional Resources

Not sure where to start?
Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Watch the Raspberry Pi Bootcamp course now.

Master your Raspberry Pi in 30 days
Don’t want the basic stuff only? If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.
Download the e-book.

VIP Community
If you just want to hang out with me and other Raspberry Pi fans, you can also join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
More details here.

Need help building something with Python?
Create, understand, and improve any Python script for your Raspberry Pi.
Learn the essentials step-by-step without losing time understanding useless concepts.
Get the e-book now.

You can also find all my recommendations for tools and hardware on this page.

This tutorial doesn't work anymore? Report the issue here, so that I can update it!

Similar Posts


  1. I really like how well you laid out the instructions. I was going along just fine until I hit one of those “you can’t fix stupid” situations. Stupid, of course meaning me. I cannot determine how to configure the “USB key with Google Apps on it”. I feel that it needs a boot partition. Oh heck, rather rambling along, please detail if time avails. I’m really liking the install.

    Thanks for any assistance.
    Mr. Lost-In-The-Dark

    1. No, just copy the OpenGapps archive on a USB Key (FAT32 for example)
      Nothing complicated 🙂

  2. can i run this version of LineageOS in Pi 4B, on two different monitors showing two different apps? dual monitor supports exists in Pi 4B, will Lineage OS support that also?

  3. Thank you very much for your detailed tutorial,
    I was able to setup a raspberry pi 4B (4GByte RAM) with an industrial touchscreen monitor,
    used as HMI in kioskmode (showing a webinterface)!
    Thank you very very much for your nice work!

    One usecase works on my solution based on “Raspbian Buster Desktop”, chromium in kioskmode and chromium-extension “Virtual Keyboard”. But this didn’t work with our second usecase (also a webinterface), where the on-screeen-keyboard didn’t show up…

    Some details I had to handle:
    -edit “config.txt” with SD-card-reader on bootpartition for getting screen output on my PC-HDMI-monitor, as close as possible to our used screen resolution of 1920×1080:
    hdmi_mode=85 (it’s only 1280×720, also 16:9, so scaling our webinterface works well)

    -reboot of Android / LineageOS: long press on “F5”

    -showing all installed apps: gesture from down into screen over Android-circle

    -“Reboot in normal mode”
    in “Mount” I had to select “Boot” AND “System”,
    otherwise “” wasn’t found

    -additional apps via Playstore:
    -TeamViewer Host (only screen sharing is possible, there’s no addon for remote control…)
    -Fully Kiosk Browser
    (autostart with Android/LineageOS works well)

    =>background image had a weird problem, setting fullscreen picture in LineageOS doesn’t work, it seems that it has problems with screen width/height. App “Image 2 Wallpaper” helped to scale and setup the image, but I couldn’t manage to center it… But that’s peanuts. 😉

    1. Some tests further showed three showstoppers (ordered by priority):

      1) configuration of static IP address on ethernet port
      It’s not available on Android user interface, and it seems that it’s a widespread problem…
      Has anyone found a simple and persistent solution?

      2) screen resolution
      Website-scaling in “Fully Kiosk Browser” works well, but after userinputs with on-screen-keyboard the user has to manually zoom out (nativ resolution of our webinterface is 1920×1080). It would be very cool, if Android on Raspberry Pi 4B could provide full-HD resolution…

      3) remote access to Android
      TeamViewer Host is accessible as on other Android-based tablets, but only screen mirroring works. There’s no TeamViewer-Addon for sending mouse or keyboard events.

      Well, perhaps one day there will be a solution. 🙂

      @Patrick: Thank you for your good documentation.

  4. Dam its works in the beginning but is really slow when i tried to fix it it never loaded do u think u could do another tutorial on how to run it faster

  5. Hi,

    I just updated this post as many people on YouTube told me that they were unable to reboot in normal mode after the Gapps installation.

    If you are trying this tutorial with Android 10, there is a small change at the end:

    Note: From Android 10 and over, the script is no longer available in the terminal, you need to download this file from Konstagang.
    Put it on the same USB key with Gapps, and install it just after Gapps.
    It will reboot in normal mode.

    1. Hello,
      After installing the script from, I can’t find the new script. The command is still the original one.
      If I unzip and run directly the script, the raspberry stay on a black screen at next startup. and

  6. Thx for this article.

    I have a question: if you install LineageOS on the Raspi 4 is it then a normal Android (smarthpone) without a touch-screen?
    Or can it work 100% as a Android TV, where no touch screen is working?

    I just bought a chinese Android TV Box (xgody T95) – and it says it’s a phone.
    So all the app are thinking, they are on a smartphone and not on a TV .

    I want to avoid the same with the raspberry pi.
    can you tell me, how it reacts (without a touch screen?)

    1. Sorry, I don’t really know the difference
      You can ask on the LineageOS website, or maybe the fastest is to test 🙂

  7. Superb, thank you for that. I’ve just installed it on my Raspberry Pi 3 Model B (not +).
    The whole process was very glitchy, I’d even say super slow. I assume it’s because I’m using Model B and not Model B+, so and it has only 1GB Ram :\

    Bottom line – it works, thank you very much!

  8. got to installing opengapps and I’m getting insufficient disk space. I’ve verified the file download, open_gapps-arm-9.0-pico-20201031. I’m using a 64g sd card. I’ve expanded the data partition but no luck. any ideas?

      1. Hi Tim,

        I’m running into the same issue, but I’m not quite sure how to expand the system partition. Any tips/info??

  9. The main question — how about at least 1080p video playback, Is there any hardware acceleration?

  10. Thanks, great tutorial!
    I’m using a Pi3 with a touchscreen.

    I tried using android V10 and Gapps V10, the Gapps zip file installed but on reboot everything became really slow, with several “wait for reply” errors, and finally the apps application never showed up.
    Nice thing was, setting the “Advanced restart” option worked nicely, and allowed rebooting into recovery mode without having recourse to the script.

    So went down to V9 versions, but I can’t get the terminal app to show up on the desktop. I’ve enabled root access “Apps and ADB” and “Local Terminal”, but the application icon doesn’t show up on the desktop.

    Any ideas?

    Cheers, RobR

    1. Hi,

      Thanks for your feedback.
      System slowness with Google Apps is “normal”.

      For the terminal, try to check the video, you probably miss one step in the procedure.
      Also, it’s not on the desktop, but in the apps list.

      1. Great, got it, wasn’t looking in the right place for the terminal app. Got it all working now, thanks a lot for these instructions.

  11. Please … with the version of lineageOS 18.1 (android 11) of konstagang, in the developer settings there is no longer the root access entry but only the one to enable the terminal, so I can’t give the command to access the recovery … some idea please? thank you !

  12. I kept rebooting into a black screen also. What finally worked for me was to not install the kong recovery file but to instead go to reboot and choose power off then power cycle voila.

  13. I use Pi4 with android 11 installed on a USB disk, but I don’t know what to do to make android see the real disk memory because it sees 8gb and the disk is 1tb will someone help me? thanksm

Comments are closed.