Show navigation Hide navigation

Getting Started with Auto

Dependencies and Prerequisites

  • Android 5.0 (API level 21) or higher

This class teaches you how to

  1. Set Up an Auto Project
  2. Build Auto Apps
  3. Run and Test Auto Apps

You should also read

Android Auto extends the Android platform into the car. When users connect their handheld devices running Android 5.0 or higher to a compatible vehicle, the Auto user interface provides a car-optimized Android experience on the vehicle's screen. Users interact with compatible apps and services through voice actions and the vehicle's input controls (like a touchscreen or dashboard buttons).

Auto currently supports two types of apps:

  • Audio apps that allow users to browse and play music and spoken audio content in the car.
  • Messaging apps that receive incoming notifications, read messages aloud via text-to-speech, and send replies via voice input in the car.

You can enable your existing audio and messaging apps developed for phones and tablets to work in the car, without having to worry about vehicle-specific hardware differences. To enable your app for Auto, your app must target Android 5.0 (API level 21) or higher. Your app’s manifest must also declare the car capabilities that it uses, such as audio playback or messaging services.

This lesson describes how to start building apps for Auto, including setting up your development environment and meeting the the minimum requirements to enable an app to communicate with Auto.

Set Up an Auto Project

This section describes how to create a new app or modify an existing app to communicate with Auto.

Prerequisites

Before you begin building apps for Auto, you must:

Declare Auto capabilities

The Auto features that your app can access are controlled by the settings in your app manifest and a separate XML configuration file. Before adding Auto features to your app, you must first define the Auto XML configuration file and add a manifest entry referencing your XML file.

Define the Auto XML configuration file

Specify the car capabilities that your app uses in an XML file that you place in your project’s resources directory (res/xml/). For example, to extend an audio application for Auto, create a file called automotive_app_desc.xml and store it under your projects’s res/xml/ folder. The automotive_app_desc.xml file contains the following metadata:

<automotiveApp>
   <uses name="media" />
</automotiveApp>

The <uses> element declares the Auto capability your app intends to use. Multiple <uses> tags can be added if your application uses multiple car capabilities. The name attribute indicates the specific capability your app uses. The values supported are:

  • media - The app uses the Android framework APIs to play music in a vehicle. Set this value if you are enabling an audio app for Auto.
  • notification - The app displays message notifications in the car’s Overview screen, allows users select a message to be read aloud, and lets them respond through voice input. Set this value if you are enabling a messaging app for Auto.

Add a manifest entry

In your app’s manifest (AndroidManifest.xml), provide a reference to the Auto XML configuration file you created in the previous section. Add a "com.google.android.gms.car.application" metadata entry under the <application> element that references your Auto XML configuration file. Omit the .xml file extension when specifying the configuration filename.

The following code snippet shows how to include this reference in your manifest.

<application>
    ...
    <meta-data android:name="com.google.android.gms.car.application"
     android:resource="@xml/automotive_app_desc"/>
</application>

Add Auto Features to Your Apps

After you have completed the steps described above, you're ready to add Auto features to your apps. See these additional topics to help you build apps for Auto:

Important: Google takes driver distraction very seriously. There are specific design requirements your app must meet to qualify as an Auto app on Google Play. By adhering to these requirements, you can reduce the effort for building and testing your app. For more information, see Auto App Quality.

Run and Test Auto Apps

As you prepare to publish your app, make sure that your app looks correct when projected on the Auto user interface. Use the Android Media Browser simulator and Android Messaging simulators to view and test your audio or messaging apps in a screen that looks similar to what is projected on Auto.

To get the simulators, open the SDK Manager and download them from Extras > Android Auto API Simulators.

Before you begin testing, compile your app in your development environment. Install your app and the Android simulator for the features you want to test (that is, audio or messaging) on a physical or virtual device running Android 5.0 (API level 21) or higher. To check the version of Android on the device, go to Settings > About > Android Version.

Testing audio apps

To run and test audio apps:

  1. Install the Android Media Browser simulator (<sdk>/extras/google/simulators/media-browser-simulator.apk) on the test device. You can do this using the adb command line tool.
  2. Enable developer options on the test device.
  3. Install your app on the test device.
  4. Launch the Android Media Browser simulator to see how your audio app appears in Auto. If your app does not appear, stop the simulator from Settings > Apps then restart it.

Testing messaging apps

To run and test messaging apps:

  1. Install the Android Messaging simulator (<sdk>/extras/google/simulators/messaging-simulator.apk) on the test device. You can do this using the adb command line tool.
  2. Enable the simulator to read notifications posted on the system:
    1. Enable developer options on the test device.
    2. Click Settings > Sounds & Notifications > Notification Access and check the box labeled Messaging Simulator.
  3. Install your app on the test device.
  4. Launch the Android Messaging Simulator to see how your messaging app appears in Auto. If your app does not appear, stop the simulator from Settings > Apps then restart it.