← Studio Toriumi

Android Automotive OS · VHAL · GAS

Reading car Android
from the bottom up.

Android Auto and Android Automotive OS share a name and nothing else. The first projects your phone onto a screen in the car. The second is the car's operating system.

Skip that distinction and every document you read afterwards will quietly stop making sense. So let's follow one thing — a vehicle signal — all the way up to the app.

Last updated 2026-09-03 · Sources listed at the end · Public information only

01Separate the two first

More people conflate these than you would expect.

Android AutoAndroid Automotive OS (AAOS)
Runs onYour phoneThe car's head unit
Needs a phone?Yes — plug in and projectNo
Vehicle data?Practically noneYes — HVAC, gear, EV range …
App storePlay on the phonePlay in the car (GAS vehicles)
Who builds itApp developersOEMs / Tier 1s / app developers

AAOS is a platform, built on AOSP. An OEM ships it in a car and builds its own system apps on top. That is why "writing an Android app" and "building a car that runs Android" end up described with the same words.

02The layers — and who owns which

The boundaries in this diagram tend to be organisational boundaries too.

App layer CarLauncher / CarSettings / Car System UI · GAS apps · third-party apps Car framework layer android.car — CarPropertyManager / CarAudioManager / CarUxRestrictionsManager Android framework layer ActivityManager / AudioFlinger — ordinary AOSP VHAL (Vehicle HAL) Vehicle signals become Vehicle Properties. This is the boundary Hardware / ECU / SoC CAN and other in-vehicle networks owned by the OEM owned by the Tier 1 ↑ From the app, the vehicle looks like a set of properties ↓ The actual CAN encoding stays hidden below the VHAL

The AAOS stack. The two blue-outlined layers are the automotive-specific ones

In a published account of Honda's AAOS work on TECH PLAY, the split is described exactly this way: the OEM takes the layers above the HAL, while the hardware domain stays with the Tier 1. On the audio side, the article describes AudioFlinger at the centre with CarAudioManager added alongside it, plus the existing AudioFocus mechanism and the native AAudio path.

03How a vehicle signal reaches your app

This is the part that makes car Android car Android.

Apps never read CAN frames. The VHAL converts vehicle signals into "Vehicle Properties", a uniform shape, and apps read and write those. That is what keeps differences between models and buses from leaking into app code.

The entry point is the Car class; you pull the managers out of it.

// Get CarPropertyManager from a Car instance
Car car = Car.createCar(context);
CarPropertyManager mgr =
    (CarPropertyManager) car.getCarManager(Car.PROPERTY_SERVICE);

// One-shot read — the model name, for example
String model = mgr.getProperty(
    String.class, VehiclePropertyIds.INFO_MODEL, 0).getValue();

// Subscribe to changes — the current gear, for example
mgr.registerCallback(callback,
    VehiclePropertyIds.CURRENT_GEAR,
    CarPropertyManager.SENSOR_RATE_ONCHANGE);

Terms worth knowing

What changed in Android 14

From Android 14, system property definitions were split out of the VHAL interface into the AIDL interface android.hardware.automotive.vehicle.property. The CarPropertyManager and CarPropertyService stacks also gained asynchronous get/set APIs and APIs supporting a fake VHAL mode in Car Service.

That fake VHAL is the practical way in: you can exercise property reads and writes without a vehicle in front of you.

04GAS — what "a car with Google in it" actually means

AAOS on its own ships with neither Google Maps nor Play.

GAS (Google Automotive Services) is the set of Google services layered on top of AAOS — Google Maps, Google Play, the assistant. AAOS is open source; GAS is licensed by the OEM. That is the dividing line.

A car advertised as "Google built-in" is a car carrying GAS. Being able to install apps from the Play Store in the car is likewise limited to vehicles from GAS partners.

Shipping GAS means passing certification

The product has to meet Google's compatibility, performance and security requirements, which brings a certification campaign with it. Four suites come up repeatedly:

Google-accredited third-party labs exist for this work — HARMAN's Automotive Engineering Services, for instance, has announced accreditation for AAOS and GAS certification testing.

05Carma — existing apps, but only while parked

A term with very little written about it, so it is worth stating plainly.

Carma is the name of the Car Ready Mobile Apps program: Google's route for bringing existing mobile apps onto AAOS large screens without much rework. Its shape:

The trade is explicit: give up use while driving, and the porting cost drops to near zero. That is a different goal from building a driving-safe app from scratch with the Car App Library.

What you wantWhat you use
Run an existing app on the car's screen while parkedCarma (Car Ready Mobile Apps)
Build an app usable while drivingandroidx.car.app — Car App Library templates
Read or write vehicle dataandroid.car / CarPropertyManager

06What is moving in 2026

The specification is in motion, so check the date on anything you read.

The assistant is becoming Gemini

In-car voice assistance is migrating from Google Assistant to Gemini. A rollout to roughly four million GM vehicles was reported in April 2026, and Google has said the rollout extends from Android Auto vehicles to Google built-in vehicles — names mentioned include the Lincoln Nautilus, Honda Passport, and select Chevrolet, Cadillac, GMC, Acura and Volvo models.

In Google built-in cars, Gemini sits closer to vehicle systems: infotainment settings, app state, EV information, owner's-manual content, and the car's own UX restrictions.

AAOS is expanding into SDV

Google has announced "Android Automotive OS for Software Defined Vehicles", slated for release in late 2026 as an open-source program via AOSP. The scope moves beyond infotainment toward vehicle software generally.

07If you are starting out

  1. Keep the terms apart. Android Auto, AAOS, GAS and Carma are four different things. Reading with them merged is exhausting
  2. Know which layer you are talking about. Simply being able to say "above or below the VHAL" changes the precision of a discussion
  3. Start with the emulator and the fake VHAL. You can exercise properties without a car
  4. Check dates. 2026 is a year of movement. An article that assumes Assistant may already be stale
  5. Verify whether OEM-specific material is public. Partner-facing requirements are frequently under NDA; do not blend them with published articles

Where this page stands

Everything here comes from published primary documentation and public articles. It contains no confidential information about any specific vehicle, program or company. Specifications change — verify against current AOSP documentation before you implement.

08Sources