App categories
Apps on the vehicle app store generally fall into two technical categories. Choose the one that fits how your app presents to the driver.
Car App Library (templated) apps
Car App Library (CAL) apps use pre-built UI templates (lists, grids, panes, search, messages) rendered by the car’s host. The host enforces distraction guidelines automatically, and the same app can target multiple car hosts.
When to use: information and browsing apps — points of interest, weather, IoT, navigation companions — where the templated UI fits your content.
Baseline requirements:
- Declare the automotive and templates-host features (see Building for AAOS).
- Declare the minimum Car App API level your app supports in the manifest.
- Provide the automotive app descriptor resource.
- Request only the template permissions your category needs.
Templated apps maximize compatibility because they avoid custom rendering and rely on the host to draw a compliant UI.
Audio (Media3) apps
Audio apps play media in the car and integrate with system media surfaces
(notification, steering-wheel controls, Assistant). Build them on Media3
(ExoPlayer + MediaSession).
When to use: music, radio, podcast, and other playback apps.
Baseline requirements:
- Host playback in a
MediaSessionService(orMediaLibraryService) and expose the session viaonGetSession(). - Set explicit audio attributes and let the player manage audio focus:
setAudioAttributes(audioAttributes, /* handleAudioFocus= */ true). - Handle becoming-noisy events:
setHandleAudioBecomingNoisy(true). - Declare
FOREGROUND_SERVICEandFOREGROUND_SERVICE_MEDIA_PLAYBACK, and setandroid:foregroundServiceType="mediaPlayback"on the service. - Populate media metadata (at least title) so system surfaces show correct state.
- Verify focus behavior against another active media app — no dual playback, clean pause/duck on focus loss.
Not sure which category?
If your app is primarily information/browsing, start with the Car App Library. If it primarily plays audio, build a Media3 audio app. Apps that do both should lead with the experience the driver uses most.