android-auto

Builds car apps with Car App Library templates and safe navigation.

8|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/drewid74/ai_skills --skill android-auto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-auto
Source: https://github.com/drewid74/ai_skills/tree/main/android-auto
Command: npx skills add https://github.com/drewid74/ai_skills --skill android-auto

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It helps you build Android Auto (phone projection) and Android Automotive OS (native AAOS) apps using the Car App Library, ensuring your UI and navigation work within the template and safety constraints of in-vehicle experiences.

Core Features & Use Cases

  • Template-based UI for car screens: Implement ListTemplate, NavigationTemplate, PlaceListMapTemplate, MessageTemplate, and related templates instead of drawing arbitrary views.
  • Session and screen lifecycle handling: Use CarAppServiceSessionScreen correctly, navigate via screenManager.push/pop, and update data using invalidate() (no blocking work on the main thread).
  • Driving-safe interaction (Distraction Optimization): Design for limits like reduced list size while moving, constrained text/input, capped action strips, and controlled back-stack depth.
  • Navigation and voice interaction: Handle navigation categories with turn-by-turn UI, and respond to voice-triggered intents such as navigation requests.

Quick Start

Use the android-auto skill to implement a car app that shows a template-based home list and navigates to a NavigationTemplate screen while respecting driving distraction rules.

Frequently Asked Questions about android-auto

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an Android Auto app using the Car App Library templates?

To build an Android Auto app, use the Car App Library template model to implement screens like ListTemplate and NavigationTemplate instead of drawing arbitrary views, wiring components through CarAppService, Session, and Screen lifecycles.

What is distraction optimization in Android Automotive OS development?

Distraction optimization in Android Automotive OS requires designing UIs within host constraints, such as reducing list sizes while moving, constraining text input, capping action strips, and limiting back-stack depth to ensure driving safety.

How do I update the UI in an Android Auto app without blocking the main thread?

To update the UI in an Android Auto app without blocking the main thread, trigger data refreshes by calling invalidate() and avoid performing any blocking I/O operations inside the onGetTemplate() method.

Does Android Auto support voice-triggered navigation requests?

Yes, Android Auto supports voice-triggered navigation requests by handling voice-triggered intents, allowing apps to respond to navigation categories and display turn-by-turn UI on the NavigationTemplate.

Can I use custom views for my Android Automotive OS app interface?

No, Android Automotive OS apps cannot draw arbitrary custom views; you must use Car App Library templates like PlaceListMapTemplate and MessageTemplate for all car surfaces to comply with platform requirements.

What is the correct session and screen lifecycle wiring for Android Auto apps?

The correct Android Auto lifecycle wiring flows from CarAppService to Session to Screen, using screenManager.push and pop for navigation, while ensuring all template rendering respects driving distraction rules.