Android Automotive
Android Automotive is a variation of Google's Android operating system, tailored for its use in vehicle dashboards
Mayokun Yusuf 19-09-2024
Android Automotive OS
Android Automotive OS (AAOS) is a full-fledged operating system by Google, designed to run directly on the vehicle's in-vehicle infotainment system (IVI).
It is a customized version of Android tailored for vehicles, allowing apps to run natively on the car's hardware without the need for a smartphone.
Android Automotive offers openness, customization, and scale to automotive infotainment systems and head units. Openness enables new efficiencies by providing basic automotive infotainment features in a free and open source codebase. Customization enables implementers to differentiate the product as they see fit. Scale is achieved through Android’s common framework, language, and APIs, all of which enables reuse of development expertise and completed software from hundreds of thousands of Android developers worldwide.
Difference Between Android Automotive OS and Android Auto
Android Auto: An app that runs on your smartphone and projects a simplified interface onto the car's infotainment system. It requires a compatible phone and car.
Android Automotive OS: An operating system installed directly in the car, independent of a smartphone. Apps are installed directly onto the car's system via the Google Play Store.
Google Automotive Services (GAS)
Google Automotive Services (GAS) is a collection of applications and services that automotive OEMs can choose to license and integrate into their in-vehicle infotainment (IVI) systems.
Google Play Store: Allows users to download and install automotive-compatible apps directly in the car.
Google Maps: Provides built-in, real-time navigation optimized for the car with traffic updates and location searches.
Google Assistant: Enables hands-free voice control for media, navigation, and messaging through voice commands.
Google Play Services: Offers core system APIs like location, authentication, and app updates for seamless app functionality.
Google Maps Navigation SDK: Allows developers to integrate turn-by-turn navigation and map features directly into their apps.
Media and Messaging Integration: Seamlessly integrates media apps (e.g., Spotify) and messaging apps for in-car use through Android Automotive's system interface.
Why Develop for Android Automotive OS?
Growing Market: More car manufacturers are adopting Android Automotive OS
Native Integration: Apps can integrate more deeply with vehicle features.
Unique User Experience: Provides an opportunity to create apps specifically designed for the in-car environment.
Supported App Categories
As of now, Android Automotive OS supports the following app categories:
Use the Android for Cars App Library
Android Automotive Architecture
1. Application Framework Layer:
This layer is where your applications run, whether they are AOSP (Android Open Source Project) Apps, OEM (Original Equipment Manufacturer) Apps, or 3rd Party Apps (like the media app you are developing).
2. Service Layer:
The Service Layer manages communication between the application framework and lower-level system services. It is composed of:
Android Automotive Architecture
4. Board Support Package (BSP):
At the lowest level, we have the BSP (Board Support Package), which includes the Linux Kernel.
The kernel provides core system services like device drivers, file system management, and resource allocation.
The Linux Kernel interacts with the vehicle hardware through a Hardware Interface Definition Language (HIDL) interface, allowing Android to communicate directly with the car's systems.
Android Automotive Architecture
How It All Comes Together:
Your Media App (3rd Party App) sits in the Application Framework Layer, where it communicates with the Android System Services and Car Managers to control media playback or interact with the car's audio system.
The Android Managers and Car Managers in the Service Layer handle communication between your app and the vehicle's hardware.
The HAL ensures that all system-level commands (like playing media, controlling volume, etc.) are properly translated into hardware-specific actions.
The Linux Kernel handles the low-level operation of hardware resources, ensuring that the vehicle's systems (e.g., speakers, microphone) are functioning properly.
Creating Your First Android Automotive App
Note: If you don't see an Automotive system image, you may need to install it via the SDK Update Sites tab:
Creating Your First Android Automotive App
Enable Extended Controls
Use Virtual Sensors and Controls
Creating Your First Android Automotive App
Creating Your First Android Automotive App
Thank You.