Over the last few years we’ve been working on custom Android ROM projects for the hotel industry, where we’ve created a highly customizable level of system services and applications for Android devices.
We’ve also talked to CTOs and Product/Project Managers at various hardware companies and startups who are in the process of building their own custom devices for consumer or enterprise markets.
They are all looking for Android customization solutions, e.g., option to restrict access to system buttons, remove or lock system menus, add geo-fencing tracking or organize over-the-air (OTA) updates, along with the ability to monitor a fleet of Android devices.
We’ve realized that Android would be a good solution for a range of devices like ATMs, vending machines, automated bus-stops with a ticketing system, in-car systems, and even household robots.
But most companies don’t know where to begin.
What type of Android should you select? What are the restrictions and limitations of Android? How do you select hardware that works best with Android and minimize the dependency on closed-source proprietary drivers that will be outdated quickly?
How do you ensure that you build an Android that passes the Android Compatibility Tests? What Google services should you use and do you need them at all? Is it possible to organize the process so as to minimize the effort spent for major Android platform updates that come every year?
So in this article we are going to discuss the high-level considerations about using Android for your custom device and what type of Android you can choose.
This is the first part of a bigger guide about Embedded Android that intends to cover a broad set of topics about using Android as a platform for embedded devices.
But first, let’s start by looking at other examples of the use of Android in custom devices.
If you are looking for the help with customization of your own build of Embedded Android that was built from AOSP or any other open-source version just let us know.
Android AOSP on Different Devices: Examples
Here are a couple of recent examples where you can see how Android OS was used on custom devices by teams that are not affiliated with Google, and who used AOSP as a foundation.
Razer Forge TV
This is an Android gaming console that was built on top of Android TV and which integrates the full Cortex gaming catalogue that was previously distributed through the first ever Android gaming platform Ouya.
Pillo is developing an intelligent health and wellness assistant that is smart enough to recognize family members by using voice and facial recognition. At the heart of Pillo is an Android operating system that runs a home-based medical AI.
Clover Mini is a card payment terminal for small businesses that integrates an Android operating system and provides the rich UI and credit card reading functionality to the Android tablet.
Alpha 2 – home social robot
Alpha 2 is an interactive family robot with social skills that runs on Android. Big plans are afoot to lure developers with a dedicated App Store featuring apps that will add even more soft skills to the robot. They are leveraging a 3rd party app developer ecosystem to add value to the device.
RX5 – Yun OS connected car
Another much more complex and sophisticated example of applying Android AOSP is to build your own OS like AliCloud did for YunOS, a highly re-engineered Android fork which is currently integrated into their latest internet-connected car, OS’Car RX5, from Alibaba.
Amazon Fire OS tablet
There is also an example from Amazon who forked an AOSP and released the Fire OS – operating system for their custom-made smartphones and tablets which are integrated with Amazon Prime services, content and their app store.
The examples above show the possible variations of using different forms of Android on other devices, but Android itself has different types with their own limitations and restrictions. Next we will look at the types of Android that are currently available.
Different forms of Android OS
The Android platform is growing in a variety of ways and almost every other year Google presents a new type of Android.
Currently, the Android operating system is divided into 5 types:
- Android – for smartphone and tablets (AOSP).
- Android TV – for televisions and usually built into TVs or stand-alone digital media players and set-top boxes.
- Android Auto – for connected cars.
- Android Wear – for connected wristwatches.
- Project Brillo – embedded Android OS for low-power and memory constrained IoT devices.
Each Android version comes with its own specialized user interface (UI), and in many cases, optimized apps for the device’s UI specifics and constraints of the different devices.
You can’t build every type of Android device from Android Open Source Project (AOSP).
For example, you can easily build and install Android for smartphones and tablets on your device, but you can’t build your own version of Android Wear because it is highly controlled by Google and they didn’t release the whole source code for Android Wear into AOSP.
Another branch of Android, currently under development and available only for a closed group of beta testers, is Project Brillo, which is a sized-down version of Android that uses its lower levels and doesn’t need a graphic UI because a display is not required by the platform.
Such minimization made it possible for Android to be used on devices with as little as 32Mb of RAM in a completely headless mode.
Project Brillo Android is a good candidate to use in connected devices with just voice interfaces such as Google Home or Amazon Echo with an Alexa assistant. Such cases don’t need UI, e.g., headless devices.
So the answer is “Yes” you can use Android as an operating system for your custom device.
There are a lot of examples of devices which are using Android under the hood, ranging from household display devices to connected cars and autonomous robots.
By using Android, you are automatically granted some benefits. It uses cheaper hardware components which are available from smartphone and tablet supply chains. It’s easy to find Android developers to build you specialized software. An enormous amount of apps are already available on the Google Play Store that could also be used on your device.
In the next part of this guide we will look in greater detail at these and other advantages of using Android for custom devices.