Video content stands out with large screens and immersive audio in cars with Google built-in. For many people, their best sound system is in their cars! Whether charging an EV or waiting for a pickup, cars with Google built-in are a great place to catch up on shows and movies.
It’s easy to bring your video app to cars with Google built-in. You can reuse the investments you’ve made in your Android mobile app and distribute through the Play Store to reach a broad set of vehicles. To meet driver distraction guidelines, video content can be played only while the vehicle is parked.
Before you bring your app to cars, it’s best to understand what cars are like in relation to the rest of the Android ecosystem. In many ways, cars are similar to other large screen devices like tablets and foldables. They have touchscreens with similar sizes, resolutions, and aspect ratios and which may be in either portrait or landscape orientation (though, unlike tablets, their orientation is fixed). They are also connected devices which may come in and out of network connection.
The biggest difference is in viewing/interaction distance — car screens are generally further away from the user even when the screen size may be the same. As such, the following are recommended minimums for use in cars:
With all that in mind, it’s not surprising that apps which are already optimized for large screens (primarily the LS-C1 and LS-U1 large screen quality guidelines) often require a minimal amount of work to bring a great user experience to cars.
Important: Your app doesn’t need to be fully optimized for large screens to be compatible with Android Automotive OS. As long as your app meets the Android for Cars video app quality guidelines, it can be distributed via the Play Store.
Gather device specifications
To find out the exact specifications of cars that support video apps, you can use the Play Developer Console’s Device Catalog as follows:
First, open the Device catalog page from within the Reach and Devices subsection of the Release section of the navigation drawer.
Next, select All devices from the catalog mode dropdown (in the top left of the next screenshot).
Note: After you’ve implemented support for Android Automotive OS devices, you can use Supported devices to get an even more accurate view of the devices that support your application (since that setting will take into account all of the other requirements your app has beyond those specific to video in cars).
Next, add a filter using the Shared library option.
Type in “android-automotive-video”, select the result, and click Apply. Optionally, you can save this filter so it’s easier to come back to later.
This list of devices represents the set of Android Automotive OS vehicles with Google built-in that support video apps. Note that the same device may be used across multiple models (for example, the same head unit is used in the Volvo XC40 Recharge as in the Volvo XC60). To analyze the device specifications, you can use the “Export device list” feature, which will download a CSV with details such as the screen resolution, DPI, SoC, GPU, and ABI.
Tip: If you’d like to see the list of all vehicles with Google built-in, and not just those that currently support video apps, you can remove the shared library filter and replace it with a Device type filter using Car as the value.
Beyond the generic Android Automotive with Play Store emulator available through Android Studio, you can also test with OEM emulators to see how your app looks on different devices. Note that not all of the production vehicles represented by the emulators below may support video apps currently — the set shown by the Device Catalog as described in the “Gather Device Specifications” section should be treated as the source of truth for which vehicles on the road today are supported.
Note: The android-automotive-video library may not be included in these emulator images yet, so you can test your app by commenting out the <uses-library> element or temporarily setting its android:required attribute to false so the app can be installed. Just be sure to change it back before you submit!
Additionally, new vehicles with Google built-in are hitting the road every year. Consider reaching out to OEMs to find out about the latest vehicles and emulators you may be able to target.
If there is no emulator available for a configuration you’d like to test, you can also configure an emulator to have matching screen resolution and density using the following adb commands:
# Set the resolution # e.g. adb shell wm size 1280x800 adb shell wm size <horiz_px>x<vert_px> # Set the DPI # e.g. adb shell wm density 160 adb shell wm density <dpi>
When finished testing, you can reset these values to the original using the following commands:
adb shell wm size reset adb shell wm density reset
To test the DD-2 quality guideline (which requires playback to stop when the vehicle is in motion), you can simulate driving using the emulator’s extended controls.
First, open the extended controls menu by clicking the icon with three dots in the toolbar.
By default, the speed is set to 0 mph and the gear is set to Park.
To simulate driving, all you need to do is set the speed to be non-zero and the gear to be anything other than Park.
To simulate stopping driving, all you need to do is reset the gear to Park (the speed is ignored when in Park).
At this time, any video app can submit to internal, closed, or open testing tracks on the Google Play store. The announcement on the developer guide page will be updated when any video app can publish to production.
Automotive OS Track Setup
To distribute your app to cars through Google Play, you’ll need to first set up the Android Automotive OS Release type.
To do this, navigate to the Advanced Settings page of the Release section of the navigation drawer on the Play Developer Console page for your app.
On that page, select the Form factors tab. Click the + Add form factor button and select Android Automotive OS from the dropdown. You will then see a checklist like the following.
To add screenshots for your Automotive OS release, simply click the item that says “Upload Android Automotive OS screenshots” and follow the instructions on the page it takes you too. Note that screenshots should only be taken using the generic emulator image, not with an OEM one.
Release a build
The next step is to add a build of your app to a testing track. Again, clicking the to-do item is the quickest way to get started. Note the release type dropdown in the upper right corner of the page. When submitting Automotive OS builds, always make sure the dropdown says “Automotive OS only”. These tracks are separate from the “Standard” option used for other form factors.
Accept the Terms of Service
Any developer account role with Admin permissions can accept these terms of service. The text of this document can be found here. Accepting these terms only needs to be done once per developer account.
Agree to the review policy
This step cannot be started until the previous three are completed and involves agreeing to the additional testing criteria to which Android Automotive OS apps are subject.
If your app requires an account to access certain features, ensure you’ve uploaded testing credentials to the Play Console as described in the App Access section of the Play Console’s Prepare your app for review guide. If credentials are required (e.g. no content can be played without an account) and not made available, the app will be rejected during the review process.
Submit your app for review
After submitting a release, your app will be reviewed manually to ensure adherence to the quality guidelines.
If your app gets rejected, make sure to increment the version for the new build and deactivate the rejected version when making the next submission — if a previously rejected app version is included in a submission, the result of that version’s review will automatically be applied again (i.e. a rejected version will automatically be rejected again).