Skip to content

Infotainment in an SDV

App platforms and distribution

How software gets onto a vehicle and stays updatable — system image, OEM store, public store or sideload — and what each route costs in release cadence and capability.

Intermediate5 minApps · Distribution · Platforms

A software-defined vehicle is only software-defined if software can actually get onto it. That is less obvious than it sounds — the route determines what your software can do and how often it can change.

The four routes#

RouteWho decidesCadenceVehicle access
System imageThe OEMVehicle programme gates — monthsAnything, including vehicle control
OEM storeThe OEMTheir review cycleUsually read-only vehicle data
Public storeThe store, on GAS-style vehiclesYoursNormal permissions only
SideloadYou, on a dev unitImmediateWhatever the build allows

What the system image route actually means#

The OEM store#

Most non-GAS vehicles have a manufacturer store. Practically, each is a separate integration project — its own submission process, review criteria, and often its own SDK for identity and payment.

Three questions before committing:

  1. What is the review turnaround, and is it tied to vehicle gates?
  2. Are additional permissions available to store apps, or only to system apps?
  3. Is there a test fleet, or does validation need a physical vehicle?

What runs where#

An SDV cockpit typically hosts several kinds of software with different rules:

Native platform components. Part of the image, full access, OEM cadence.

Templated apps. Navigation and point-of-interest apps built from a fixed template set the platform renders. Safe by construction, which is why third parties are allowed to ship them.

Media apps. Serve a content tree and a playback session; the car draws the UI.

Full applications. Draw their own screens. Usually restricted to OEM and system apps, because they carry the whole driver-distraction burden themselves.

Web content. Increasingly used for parked-only experiences — manuals, account management, purchase flows — where the update cadence benefit outweighs the constraints.

Keeping it updatable#

Getting software onto the vehicle is half the problem. Keeping it updatable for fifteen years is the other half.

Every dependency is a fifteen-year commitment. A library abandoned in year four becomes an unpatchable vulnerability with a regulatory obligation attached. "Small and boring" is a security requirement here, not an aesthetic preference.

Interfaces to platform services must be versioned, because they will move underneath you.

The app must tolerate an older platform. A vehicle three model years old is still in the field and still yours.

Feature detection, not version detection. Ask whether a capability exists rather than inferring it from a platform version — trims differ within a version.

Sideloading during development#

On a development head unit
# Install for the CURRENT foreground user
adb install -r --user current app.apk
adb shell am get-current-user
 
# A privileged app cannot be installed this way — it must be pushed
adb root && adb remount
adb push app.apk /product/priv-app/MyApp/MyApp.apk
adb shell stop && adb shell start

A decision order#

  1. Does it actuate the vehicle? → system image. Talk to the OEM now.
  2. Is it media or templated on a store-equipped vehicle? → store route. Read the quality guidelines before designing.
  3. Neither? → per-OEM store integration, one project per manufacturer.
  4. Still exploring? → sideload, but do not let a prototype's permissions set expectations the distribution route cannot meet.

Next#

How this software actually gets built and delivered — starting with virtual ECUs.

References & further reading

Code links target the main branch on cs.android.com. AOSP moves — if a path 404s, search the symbol instead.