Installing Android on Raspberry Pi has always been a challenge. But thanks to the work of several developers, this task has become simpler over the years. In this article, I share with you the latest and easiest method to get it running on your Raspberry Pi (including the Play Store you’ll use to install any app you like).
To install Android on a Raspberry Pi, a custom image is required, since Google doesn’t have any version available for the Raspberry Pi. Additionally, accessing the Play Store requires a custom Google Apps build.
This process is very different from what you might be used to when installing new operating systems on your Pi, but don’t worry, I’ll explain all the steps in details, with illustrations to make sure you follow along.
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.
Key challenges in running Android on Raspberry Pi
I don’t want to start with something too boring, but there are some few important things to have in mind before starting the technical installation of Android itself.
Proprietary vs open-source
The core of the Android system is open-source, but main applications like Play Store and other Google apps are proprietary applications.
Android is a Google product, created for smartphones and tablets. Only partners (manufacturers) can get the full version and install it on their products, after being approved by Google. The Raspberry Pi support is clearly not Google’s priority.
It’s not only a problem for the Raspberry Pi, but also for many other devices. Some people are also interested in an open-source version of Android. That’s why projects like Emteria and LineageOS have been created.
LineageOS is a free and open-source version of Android, created for tablets and smartphones. 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.
Does LineageOS work on Raspberry Pi?
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.
However, there is an unofficial version available on this website, built especially for Raspberry Pi devices (3 or 4). That’s the image we’ll use in this tutorial.
I hope this introduction made the process clearer. We are not installing the official Android from Google (not open-source), nor the one from LineageOS (not supported), but a custom image created from LineageOS for the Raspberry Pi.
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 Google Apps and save it on a USB key.
- Flash the custom image to 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.
Here is the recommended hardware to follow this tutorial and get the most of your new system:
- A Raspberry Pi 4: Smartphones are pretty powerful these days, and if you want to get similar performances as on your phone or tablet, a Raspberry Pi 4 with enough RAM is recommended.
If you don’t have one, you can try with a Raspberry Pi 3B+ and download the corresponding image, but it’s better if you can use a Pi 4.
- A good SD card: Try to get a good one with enough space for your goals (32 GB would be the minimum). The link goes to the best one available currently, and you can read my benchmarks here if you want to know why.
Alternatively, you can also use an SSD drive, for better performance, reliability or space, but it’s not mandatory.
- A USB key: You need a USB drive to install Google Apps, a USB stick will be perfect for this.
Any model is fine, the file is pretty small. Here is the one I use for your information.
- A monitor: If the goal is to build a compact table, a product like the RasPad 3 I tested here would be perfect. For a media-center, you can plug your Pi to your TV, or simply use a Raspberry Pi monitor like the one I use.
Edit: I recently tested this Android version with this touchscreen from SunFounder, and it works very well. Android is designed for touch devices, so it makes sense :).
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 or Raspberry Pi Imager.
Pick the one you prefer.
We’ll use it to flash the SD card. It’s available on any operating system.
- 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.
This is to add Google Apps after the installation.
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 link above, then scroll down and click on “Download Now”.
On SourceForge, go to “Releases” and open the latest folder with the “NikGapps” prefix.
Download the version you want, the “Core” package is enough for a Raspberry Pi, the important part is Google Play Store, anything else can be added later.
I recommend copying the “NikGapps” or “OpenGapps” file to your USB key right away.
It’s easier than downloading it from the Android system. I’ll show you in the last part how to install them.
Warning: 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. You can use Raspberry Pi Imager or Balena Etcher for this, it doesn’t matter.
Here are the steps with Etcher:
- Start Balena Etcher, the interface looks like this:
- 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.
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.
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
Now that the Android system is installed and configured, we need to install NikGapps to allow us to use the Play Store and install all the usual applications.
You’ll feel like a hacker doing this, as it’s not a common process, but don’t worry, I explain all the steps in details.
Reboot in recovery mode
We first need to boot in recovery mode to install Google Apps.
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 versions, 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 Recovery:
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 Google Apps on it, and wait a few seconds for the recovery mode to start.
The system will now reboot on recovery mode.
The main interface looks like that:
We can now start the Google Apps installation.
Install Google Apps
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 a video on my YouTube channel guiding you through the installation of Android 12. You can watch it here for an example of the whole process:
Subscribe to the RaspberryTips YouTube channel to receive new videos directly in your feed:
Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.
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 have a full-tutorial about Android TV I recommend reading if you are interested. And you can also watch this other video I did a while ago:
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.
Whenever you’re ready, here are other ways I can help you:
The RaspberryTips Community: If you want to hang out with me and other Raspberry Pi fans, you can join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
Master your Raspberry Pi in 30 days: 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.
The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.
You can also find all my recommendations for tools and hardware on this page.