Everything you need to know about Android on Raspberry Pi

Viktor Mukha
Paradox Cat Tech Hub
8 min readSep 23, 2024
Generated by AI using ChatGPT’s DALL·E

In this article we are going to unveil:

  • 4 Reasons you should use Android on Raspberry Pi
  • Where should you get Android for Raspberry Pi?
  • Which one to choose?
  • Future prospects.

4 Reasons you should use Android on Raspberry Pi

Raspberry Pi is arguably one of the world’s most popular single-board computer. You probably already have one, don’t you?

Android is the most popular operating system in the world. There is a huge variety of applications to choose from.

This popularity, combined with the increasing power of Raspberry Pi, opens up many possibilities for using Android on Raspberry Pi. Let us explore these briefly.

Reason #1: Gaming

Get retro vibes from your Raspberry Pi with Android

Raspberry Pi with Android is one of the most affordable gaming platforms on the market, whether using a keyboard and mouse with your desktop monitor, or using controllers with your TV. Simply install an Android game as an APK or use another app to emulate one of the retro consoles.

Reason #2: Home Entertainment

TV with bias lighting

Once your built-in TV functionality gets old, there are plenty of affordable ways to breathe some life back into it. You could obviously get something like a FireTV stick, Apple TV, the discontinued Google Chromecast, or the all-new Google TV Streamer. If you feel adventurous, you could also take a look at the myriad of chineese streamers which retail on Amazon and Aliexpress. However, none of these would give you the flexibility of a Raspberry Pi.

The Raspberry Pi opens up so many more possibilities. It is a great centerpiece for home entertainment.

You can choose an Android TV Lineage OS build or use any Android flavor and simply install an app like Plex to have a centralized streaming console.

Raspberry Pi officially supports Widewine, which means that Netflix, Disney+ and all the major streaming services work.

With a help of HiFiBerry, you could do multi-room audio, turn passive speakers into active ones, correct room acoustics with DSP, build a high-quality streamer, and dive deep into DYI audio.

Projects like Hyperion enable DYI lighting solutions for bias lighting.

Simply plug a Webcam into a USB port of a Raspberry Pi and your TV turns into a video-call enabled device. Due to the fact that all major videoconferencing software runs on Android phones, the chances are high that it would work really well.

Reason #3: Low-Volume Product

Point of Sale System

Let’s say you need to build a point-of-sale terminal and you only need 10 of them. Maybe you already have an Android application that you could at least partially reuse. Or you could quickly deploy a solution using apps like Square or Vend.

Not every company needs a professional and scalable hardware solution from NXP, Qualcomm, or other vendors right away. Sometimes you need a quick and inexpensive way to test your proof of concept.

Android is a great platform for an embedded solution with a touch display, that has a lot of features you would need to implement yourself in a more standard Yocto distribution.

Thus, a combination of Raspberry Pi and Android is a very lucrative option for such prototyping.

Reason #4: Car Navigation System

Car Navigation

Once your car’s embedded system can not keep up with technology, the typical solution is to use your phone either directly or via a so-called projection mode such as CarPlay (for iPhones) or Android Auto, effectively projecting your phone’s screen onto the car’s display(s).

Not all cars support projection modes, so there are things you can do with Raspberry Pi and an external display to get around this.

There are many off-the-shelf solutions on the market, mostly from the Far East. However, if you want an up-to-date Android system without built-in backdoors and with some DIY capabilities, Raspberry Pi with an external touch display is a great place to start.

The main goal of the project would undoubtedly be navigation with Google Maps. But again, just like in home entertainment, you could pimp your sound system, install some ambient lighting, and configure it all to play well with your Android system.

Bonus: Other Reasons

There are plenty of projects which may be realized with a combination of Raspberry Pi and Android.

However, this may not be the best solution for organizations due to licensing issues or lack of hardware performance.

Feel free to contact us at Paradox Cat if you have a project in mind. We can help you understand the costs and benefits involved, and we can build a custom AOSP-based solution that fits your needs precisely.

Where should you get Android for Raspberry Pi?

To run Android, Raspberry Pi needs an Android Board Support Package (Android BSP). This BSP is a collection of tools and drivers that allow specific hardware to boot into vanilla AOSP. Normally, it is the hardware vendor’s responsibility to create such a BSP.

However, the Raspberry Pi vendor (Raspberry Pi Foundation) only officially supports the Raspberry Pi OS.

There is no official Android support for Raspberry Pi.

Unofficial Android Support

Fortunately, Google provides the source code for the main part of the Android OS via the Android Open Source Project (AOSP). This, combined with the open source nature of most of the Raspberry Pi drivers for Linux, enabled people to build their own Android BSPs for Raspberry Pi.

The development of Android BSP for the original Raspberry Pi dates back to 2012. After a while the developer community has been centered around the android-rpi Google group, which is still active today.

Let us take a look at the landscape of Android BSPs for Raspberry Pi today.

Disclaimer

What follows is our humble research of available Android BSPs. We are not affiliated with any of the authors, and would be happy to be corrected. It is also difficult to determine the original authorship of the code, as some of it has often been copied without proper attribution. It seems that all the BSPs developers have been working in parallel, looking at each other’s changes and cherry-picking some, but not all.

android-rpi

android-rpi is a developer community found on Github (https://github.com/android-rpi), as well as Google Groups (https://groups.google.com/d/forum/android-rpi).

The history of this community goes back to 2015 with the release of Android 5.0 on Raspberry Pi 2. The community is still active and continues to release source code of Android BSPs for new Raspberry Pi versions.

There are no binary images available for download.

The entry point for building your own image for Raspberry Pi 5, for example, can be found at https://github.com/android-rpi/device_arpi_rpi5.

This build is based on Android TV and comes with its own open source launcher called RpLaucher and TV settings app called LbSettings. If you want to know more about Android launchers, we have written another article about them.

raspberry-vanilla and lineage-rpi by KonstaKang

KonstaKang has been consistently providing ready-to-use Raspberry Pi Android images for years. Looking at the website https://konstakang.com/ along with other devices, one would find a lot of different binary Raspberry Pi Android images for free download:

Most of the source code for these images along with build instructions, can be found in two different GitHub “organizations”:

  1. The raspberry-vanilla collection of repositories has everything you need to build a vanilla AOSP for Raspberry Pi 4 or 5. You can build the kernel and the Android OS all by yourself.
  2. The lineage-rpi collection of repositories is used to build an Android OS distribution based on LineageOS, which provides a little more than vanilla AOSP, including its own TV launcher.
    NOTE: these repositories became private after Lineage OS 17.1, so you can only build the kernel, but not the rest.

GloDroid

The project was initiated by Roman Stratiienko at “Global Logic” with the main goal of creating a platform for training Android BSP developers [#44 Proof My Concept : GloDroid]. Github profile: https://github.com/rsglobal

It was originally started for Orange Pi. Raspberry Pi support was recently added in 2023: https://github.com/GloDroidCommunity/raspberry-pi/commit/7c0e3b199f9c7f5a43ad76cf9688811300ce0490

Source code: https://github.com/GloDroidCommunity/raspberry-pi

Prebuilt images: https://github.com/GloDroidCommunity/raspberry-pi/releases

Project status: https://github.com/GloDroidCommunity/raspberry-pi/issues/1

Discord channel: https://discord.gg/5H8cW5xA

GloDroid also provides builds based on LineageOS, but you have to build it yourself using this script: unfold_lineageos.sh. See README.md for details.

OmniROM

OmniROM is a custom ROM distribution founded in 2013. The OmniROM distribution also founded TWRP (Team Win Recovery Project), which is included in the raspberry-vanilla and lineage-rpi builds as the default recovery partition. Android 13 builds for the Raspberry Pi 4, when tested by us resulted in an unstable experience, with frequent OS crashes and visual stuttering. Due to these unresolved issues, we would not recommend using this distribution for this particular version of Android. The latest stable release for Raspberry Pi 4 appears to be Android 12.1.

Emteria Android OS

Emteria customizes and maintains the Android OS for popular off-the-shelf hardware and industrial platforms, including Raspberry Pi. This BSP is closed source and commercial.

More info: https://emteria.com/

Which one to choose?

It depends on your requirements and your use case. Here is a checklist:

  • What version of Raspberry Pi do you target? Different versions have different hardware, and require different Android BSPs.
  • Can you build it yourself? Current AOSP builds require a Ubuntu machine with at least 64GB ofRAM.
  • Do you need support for all the hardware that Raspberry Pi offers? Is anything in particular more important than the rest?
  • Do you want to use it commercially? Check the license.
  • Do you want the vanilla AOSP experience, LineageOS, or something else?

As you can see, the KonstaKang and GloDroid BSPs are the most prominent AOSP distributions for the Raspberry Pi 4 and 5. However, while similar, these images are built differently and offer different experiences and are intended for different applications. To help you make your choice, we have compiled the following table with the functionality of various components:

The flashing procedures also differ between the two. When flashing to an SD card, the scripts and instructions are different.

Besides using an SD card, a nice addition in GloDroid is fastboot over USB. Simply call:

adb reboot bootloader

and off you go, fastboot is enabled.

KonstaKang builds are using TWRP recovery partition for easy OTA updates. To enter this recovery mode, simply flip a switch in the Raspberry Pi submenu of the modified Settings app and reboot. This submenu also offers some nice features, such as the ability to view and change the screen resolution.

Another difference is that GloDroid uses U-boot, the “Universal Boot Loader”, while the KostaKang builds boot directly from the standard Raspberry Pi EEPROM bootloader.

Future prospects

It seems that the fragmentation of Raspberry Pi Android BSPs is mostly caused by the different goals of the projects. We do not see these projects converging in the near future.

It is also highly unlikely that the Raspberry Pi Foundation will start officially supporting Android.

Fortunately, we have the community where we can find support and play around with Android on Raspberry Pi.

Special thanks to James Gatt for co-authoring this story.

--

--

Viktor Mukha
Paradox Cat Tech Hub

Principal Software Architect @ PARADOX CAT GmbH. Android OS expert. Music enthusiast.