Android Automotive OS (AAOS) is a platform that allows developers to create applications for automobiles. The platform allows you to control car features and integrate with existing Google systems and services.
Why deal with Android Automotive OS
Controlling automotive functions through apps is becoming increasingly popular. The AAOS platform has the potential to change the way we use and perceive automobiles. AAOS adoption is expected to continue to grow steeply in the coming years. According to Gartner's forecast, 70 % vehicles are expected to use AAOS by 2028. This growth is driven by these key factors:
- Growing demand for internet-connected cars.
- Demands from automakers to reduce development time and costs.
- The ability of AAOS to integrate with existing Google systems and services.
Having the Android operating system right in the car is also beneficial to the automakers themselves. The benefit is definitely a faster time to market for new apps, as well as easier integration. With this operating system, carmakers can build more developed and stable ecosystems of apps and functionality around the cars themselves, thus building new competitive advantages and revenue streams.
At Etnetera Flow, we are keenly examinating AAOS updates while seeing the expanding range of AAOS-enabled car models. Having the real experience, we also believe in this trend and are building up the know-how to develop in AAOS.
Controlling the car with an app
AAOS is a version of the Android operating system that can be directly integrated into the infotainment system of vehicles. So it's like a mobile phone on four wheels. Compared to the older Android Auto technology, which allows a mobile phone to be linked to the vehicle infotainment system and which runs apps on the phone, this is a significant advance.
Android, app, development and automotive are words that immediately catch my attention, so I decided to program my own AAOS app and explore more of the Android Automotive environment.
In the official documentation, you will learn that you can currently develop apps for playing music and videos, displaying navigation, showing places of interest on a map, etc. These types of apps can then be published via the Google Play store. However, it must be added that developing automotive apps comes with a lot of restrictions and rules that must be followed for the app to pass the Google Play release check. These three are worth mentioning:
- Users must be able to complete tasks in the app on a maximum of five screens.
- The app must support both portrait and landscape mode.
- The app must support voice control via Google Assistant.
All rules and restrictions are available in the official documentation in Car App Quality.
But the development described above doesn’t sound attractive enough to me. Hey, I’m in the automotive world. I want to control the car! How about trying to control the air conditioning for example.
After a couple of days of research I figured out that I needed to follow these steps:
- Create our own app to control the temperature of the air conditioning
- Download the Android Open Source Project (AOSP)
- Add our app to it
- Enable the app in AOSP with the necessary permissions
- Build a custom emulator with our app
And I did it! We have a basic app that controls the dual-zone air conditioning system.
It may sound like a small thing, but in the end, it means that we can use an application like this to control all the hardware elements provided by the so-called VHAL (The Vehicle Hardware Abstraction Layer). And there are not a few of them (doors, lights, charging, mirrors, the whole infotainment, etc.).