Android On Raspberry Pi

Budhdi Sharma
5 min readDec 16, 2019

The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing and to learn how to program in languages like Scratch and Python. It’s capable of doing everything you’d expect a desktop computer to do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.

What’s more, the Raspberry Pi has the ability to interact with the outside world and has been used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras. We want to see the Raspberry Pi being used by kids all over the world to learn to program and understand how computers work.

Android OS available for Raspberry Pi

There is no official Android OS for Raspberry Pi, but still, some Android OS is available for Raspberry Pi. Here are some of the best options available:

1. Emteria OS

Using emteria OS, you can easily install the Android-based operating system on the Raspberry Pi in no time. Emteria.OS is a full build of Android available for Raspberry Pi. There is three versions of emteria OS: Evolution, Personal, and Business version. Evolution version is free to use, but with some limitations while for the personal and business version, you have to pay per device.

The current version of emteria OS is mainly for businesses uses. In industries, you can use emteria OS from vending machines and digital signage to the point of sale and industrial control devices.

2. LineageOS

Lineage OS doesn’t officially support the Raspberry Pi, but some individuals customized it for the Pi 3B and Pi 3B+. The current Lineage OS version is 15.1, which is based on Android Oreo 8.1.

The Lineage OS is for advanced users only, as it requires technical knowledge to set it up and to install apps. Google Play Store isn’t installed by default. But still, you can install Android apps using APKs.

3. Android Things

Android Things isn’t the right choice for most users, as this Android Things OS is different from the version of Android found on tablets and phones.

Android Things is mainly used for developing Internet-connected appliances and other IoT devices, and it only allows the user to run a single Android app at a time. It’s a lot more simplistic than full Android, and you need to program it from a separate computer. You can use the Android Studio for programming your devices.

4. Custom Android

There is some custom version of Android that is also available; for example, Android 7.1, Android 8.1, and Android 9 Pie. If you’re technically proficient, then you may want to try out these Android TV and Android tablet versions of Android on the Raspberry Pi 3. But these custom versions come with a smattering of apps, and you should expect to encounter stability issues.

Prerequisites to install Android

  • Of course, you need a raspberry pi 3
  • A power supply
  • An SD card at least 16GB and it is important that it has a good speed of reading/writing.
  • You will also need a screen and an HDMI cable to display the beautiful Android interface. You can also use the official touch screen of the foundation that does not require the use of an HDMI cable

Then you will need to download the Android image and sh script that will install the Play Store.

ATTENTION, for the last part of the tutorial, you will have to use a machine with a Unix OS (Linux or Mac OS) to be able to execute the sh script. If you do not have one, you can use a virtual machine. Here we indicate commands for a Debian like distro (such as Ubuntu, Linux Mint, Elementary Os, and a lot of others).

Installing Android on the SD card

To install the Play Store, you must first connect to the internet (wi-fi or Ethernet). For that, pull the options panel by clicking on top of the screen and pull down, just like smartphones.

Once done, we will need the IP address of the raspberry pi. To retrieve it, you have to go to the parameters, go down to the bottom of the various parameters and go to “About tablet” and then to “Status”. we can now see our IP address (198.168.xx).

Now that we have recovered this address, we will be able to return to our Unix computer as indicated in the introduction while leaving the raspberry pi running Android. I remind those who are on Windows that they can use a virtual machine to perform these steps.

Open the downloaded .sh file in the introduction. You will find the following lines

SHOW_HELP = false 
ADB_ADDRESS = "192.168.10.173"
ARCHITECTURE = "arm"
PACKAGE_NAME = "pico"
INIT_FILE = "/etc/init.d/gapps"

It is necessary to replace the IP address (ADB_ADDRESS) by that of your raspberry pi. In addition, if the other fields are empty, fill them in as above.

After that, in a terminal, run the command

sudo apt install android-tools-adb

This command will allow you to connect to your raspberry pi under android from your PC. Then install “LZip”

sudo apt install lzip

After these orders, we will be able to connect to our raspberry pi.

adb connect IP_RASPBERRY_PI

And finally, run the script to install the Play Store. Go through the terminal in the folder where the gapps.sh script is located, make the executable and run it.

sudo chmod u+x ./gapps.sh 
sudo ./gapps.sh

Be careful, the script is so long… Once it’s finished, the raspberry pi will restart. You will find yourself with a nice Android with the Play Store. However, some applications will have problems downloading them. Also as said in the introduction, this is an experimental setup and the GPU is not very well supported. It is therefore likely that Android is experiencing slowdowns. If you want a card that can run Android well, we recommend using an Odroid . We did not test on it but the returns are good.

In Above If get any doubt or confusion please leave a comment.

Thanks for the support!

--

--

Budhdi Sharma

As an AOSP developer, I specialize in creating robust framework and system applications that seamlessly integrate with embedded systems on various SOCs