Testing Android Automotive OS Application in a Volvo XC60

Testing Android Automotive OS Application in a Volvo XC60
AUTHOR
Pavel Stambrecht

This time, we aimed to develop an application usable in real cars. We developed Shared Car, an app for monitoring vehicle usage by employees, which automatically records driving time, allows switching between private and business trips, and supports multiple users. We tested it in a Volvo XC60 with an Android Automotive OS (AAOS) infotainment system and Google Play. Our development continues with the goal of improving and expanding the use of AAOS applications.

How We Got the App into a Real Car

In the previous article, we focused on developing an app that can control the car itself. The application used a privileged Android system API, which means it must be enabled in the Android system by the car manufacturer for proper use in the car.  Therefore, we have been able to run it on a self-created AAOS emulator so far. When installed in a real car from Google Play, the app encountered and didn’t work as intended.

This time, we focus on an app that can be used in a real car. We developed Shared Car to monitor employee car usage. The app still uses CarPropertyManager but only works with accessible values.

Current Features of Shared Car:

  • Automatic detection and recording of driving time
  • Switching between drive modes (private/business)
  • Display times for private/business trips and non-usage of the car
  • Support for multiple users

We chose the Volvo XC60 for testing, which has a nice AAOS infotainment system with Google Play support. Volvo also supports developers by providing an Android Automotive OS emulator for the XC40 (currently only for x86 architecture). A newer emulator for the fully electric EX30 is also expected, according to official Volvo documentation.

The app uses the mentioned CarPropertyManager to listen to the ignition state via VehiclePropertyIds.IGNITION_STATE. This triggers the recording of driving time. Originally, we intended to monitor the odometer state, but reading this value again requires privileged access, which is not available for testing.

The app design is built in Jetpack Compose. Unfortunately, there is currently no official Android library that implements Jetpack Compose Car UI standards, unlike the case with Android UI. We are aware that the app might not pass Google’s review when published to the Google Play production channel.

Currently, the only way to integrate third-party apps into production cars is through the official Google Play store. How did we manage to pass Google’s review, even though we do not meet all AAOS app standards and do not fall into any category? We didn’t. We realized that apps released within the Google Play Internal testing channel are not subject to review. Surprisingly, these apps can also be used while driving.

“To test your app in real vehicles, it must be installed from a trusted source such as the Play Store, with one exception detailed in Allow unknown sources. You can use Internal App Sharing or an Internal Test Track to distribute your app to devices without going through the Play Store review process.” Android Documentation, Test in real vehicles

Android Automotive OS Development Has Great Potential

At Etnetera Flow, we see great potential in AAOS, which is why we dedicate so much time and effort to it.

It’s Android

The mere fact that it’s Android gives it great potential to become a widely adopted operating system. According to Statcounter GlobalStats, Android has over 71% market share among mobile devices worldwide. In Europe, it's nearly 68%. Android also ranks first among operating systems overall, with almost 37% market share. Yes, Android has surpassed even the globally entrenched Windows OS, which has over 35% market share. Android can be found on mobile phones, tablets, watches, and now in cars.

“Due to car-specific reasons, where it is crucial not to distract the driver while driving, Android Automotive OS only supports certain types of applications. Currently, these include apps for playing music and videos, displaying navigation, showing points of interest on the map (POI), interacting with the Internet of Things (IoT), playing games, and browsing web content. A new category for messaging apps will also be available, as introduced at this year’s Google IO 2024 conference.” – Supported categories of Android Automotive applications

Android Automotive OS is Open-Source

One of the key aspects contributing to the attractiveness and potential of Android Automotive OS is that it is open-source. AAOS is part of the Android Open Source Project, making it easily accessible for both car manufacturers and developers. Moreover, it allows various parties to participate in its development and adapt the system to their needs.

Integration with Google Services

Android Automotive OS allows integration with popular Google services such as Google Maps, Google Assistant, Google Play, and the newly introduced Google Cast. This integration enables drivers to use familiar and reliable apps directly from their vehicle’s infotainment system, enhancing user comfort and safety on the road. It also eliminates the need to use a mobile phone in the car.

Our extensive experience with diverse Android development, such as developing for the now-defunct Android Things platform, provides us with an excellent foundation for quick adaptation. Therefore, we will continue our exploration. If you see similar potential in AAOS applications, we are happy to help you with development.

Update: We successfully tested the SharedCar app even in the electric Volvo EX30.

Read Next

Let’s make something great

Do you need to ideate, design or develop an app?
We are here to help you.
Schedule a call