​​​

Building Android Automotive OS™ Parked and Passenger Apps​

Automotive parked and passenger apps are intended to significantly enhance the in-car experience during non-driving scenarios. These apps provide entertainment and functionality when the car is stationary, such as at charging stations or while waiting. Many tablet and mobile apps like browsers, games, and video can be migrated to Android Automotive OS with minimal adaptation and shipped to cars as developers do to other large screen devices. This is because the underlying Android framework is similar, allowing developers to reuse much of their existing code. Additionally, since these apps are intended for use when the car is stationary or by passengers, there is no need to implement driver distraction rules, ensuring a seamless and enjoyable experience without compromising safety.

Read more here:

https://developers.google.com/cars/design/create-apps/app-types/parked-passenger 
https://developers.google.com/cars/design/create-apps/parked-passenger-apps/overview


Build Parked Apps for Android Automotive OS

Configure Your App's Manifest File​

To target Android Automotive OS devices, your app must have certain manifest entries. Include necessary entries in your app's manifest file to target Android Automotive OS devices. This includes the <uses-feature> element for android.hardware.type.automotiv 

Depending on which track type you choose and your app's category, there are different restrictions for the required automotive hardware element:​

<manifest ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</manifest>


​App CategoryTr​​​ack Type

Res​​​trictions​

Parked Apps
Mobile​
​android: required must be "false"
Parked Apps
Android Automotive OS only
​android:required must be "true", "false", or unset.
Media and Templated Apps
​Android Automotive OS only
​android:required must be "true", "false", or unset.​


for more details about the hardware feature check here

also explicitly set features like android.hardware.wifi ,

android.hardware.screen.portrait, and android.hardware.screen.landscape to false to avoid conflicts with available hardware features.

Ensure there are no distraction-optimized activities. To ensure your app is only available for use while parked, don't include the following <meta-data> element in any <activity> element within your manifest:

The metadata below is not allowed !!

<!-- NOT ALLOWED -->
<meta-data
android:name="distractionOptimized"
android:value="true"/>​

Video, Games and Browser Apps

In addition to the preceding requirements, which apply to all parked apps, the video, games and browser apps have additional requirements:

For video apps,

For games,

For browsers,


Optimize Your App

Disable Unsupported​​ Features: Some APIs available on other devices might not be available on Android Automotive OS. Disable any features that are not supported

Optimize Design for Large Screens: Adapt your app's design to fit the larger screens found in cars.

Support Multiple Orientations: Make sure your app supports both landscape and portrait orientations.

F​or more details about the optimization, check here


Read more here:
https://developer.android.com/training/cars/parked
https://developer.android.com/codelabs/build-a-parked-app#0

Migrate Existing Tablets Video Apps to Android Automotive OS

Test Your Existing App

Set Up an Emulator:

Begin by setting up an Android Automotive OS emulator. This allows you to test your app in an environment that mimics a car's infotainment system.

Run Your App:

Execute your app on the emulator and watch for compatibility issues. Ensure your app supports both portrait and landscape orientations, as car screens have fixed orientations.

Read more here:

https://developer.android.com/training/cars/parked#test-emulator

https://developer.android.com/docs/quality-guidelines/car-app-quality​

Compatibility Mode

To simplify the process of bringing mobile apps to Android Automotive OS devices, certain cars come with a compatibility mode that addresses common issues faced when bringing existing mobile apps into cars.

Read more here:

https://developer.android.com/training/cars/parked/aaos-compatibility-mode

https://developer.android.com/training/cars/testing/emulator?filter=compatibility-mode#generic-images

Car-Ready Mobile Apps

The Car Ready mobile apps program distributes eligible mobile apps in the video, games, and browsers categories to cars with little to no additional development work.

Read more here:

https://developer.android.com/training/cars/car-ready-mobile-apps​​​