Android Automotive implementation refers to a vehicle head unit running Android as an operating system for part or all of the system and/or infotainment functionality.
Android device implementations are classified as an Automotive if they declare the feature android.hardware.type.automotive
or meet all the following criteria.
The additional requirements in the rest of this section are specific to Android Automotive device implementations.
Screen Size (Section 7.1.1.1)
Automotive device implementations:
Navigation Keys (Section 7.2.3)
Automotive device implementations:
KEYCODE_BACK
) to the foreground application.Accelerometer (Section 7.3.1)
Automotive device implementations:
If Automotive device implementations include a 3-axis accelerometer, they:
GPS (Section 7.3.3)
If Automotive device implementations include a GPS/GNSS receiver and report the capability to applications through the android.hardware.location.gps
feature flag:
Gyroscope (Section 7.3.4)
If Automotive device implementations include a gyroscope, they:
Android Automotive-only sensors (Section 7.3.11) Current Gear (Section 7.3.11.1)
Automotive device implementations:
SENSOR_TYPE_GEAR
.Day Night Mode (Section 7.3.11.2)
Automotive device implementations:
SENSOR_TYPE_NIGHT
.SENSOR_TYPE_NIGHT
flag MUST be consistent with dashboard day/night mode and SHOULD be based on ambient light sensor input.Driving Status (Section 7.3.11.3)
Automotive device implementations:
SENSOR_TYPE_DRIVING_STATUS
, with a default value of DRIVE_STATUS_UNRESTRICTED
when the vehicle is fully stopped and parked. It is the responsibility of device manufacturers to configure SENSOR_TYPE_DRIVING_STATUS
in compliance with all laws and regulations that apply to markets where the product is shipping.Wheel Speed (Section 7.3.11.4)
Automotive device implementations:
SENSOR_TYPE_CAR_SPEED
.Bluetooth (Section 7.4.3)
Automotive device implementations:
[A-0-1] MUST support Bluetooth and SHOULD support Bluetooth LE.
[A-0-2] Android Automotive implementations MUST support the following Bluetooth profiles:
SHOULD support Message Access Profile (MAP).
Minimum Network Capability (Section 7.4.5)
Automotive device implementations:
Minimum Memory and Storage (Section 7.6.1)
Automotive device implementations:
USB peripheral mode (Section 7.7.1)
Automotive device implementations:
Microphone (Section 7.8.1)
Automotive device implementations:
Audio Output (Section 7.8.2)
Automotive device implementations:
android.hardware.audio.output
.Audio Encoding (Section 5.1)
Automotive device implementations MUST support the following audio encoding:
Video Encoding (Section 5.2)
Automotive device implementations MUST support the following video encoding:
Video Decoding (Section 5.3)
Automotive device implementations MUST support the following video decoding:
Automotive device implementations are STRONGLY RECOMMENDED to support the following video decoding:
Automotive device implementations:
android.car.*
namespace.WebView Compatibility (Section 3.4.1)
Automotive device implementations:
android.webkit.Webview API
.Notifications (Section 3.8.3)
Android Automotive device implementations:
Notification.CarExtender
API when requested by third-party applications.Search (Section 3.8.4)
Automotive device implementations:
Media UI (Section 3.14)
Automotive device implementations:
Power-Saving Modes (Section 8.3)
For Automotive device implementations:
Power Consumption Accounting (Sections 8.4)
Automotive device implementations:
uid_cputime
kernel module implementation.adb shell dumpsys batterystats
shell command to the app developer.Multi-User Support (Section 9.5)
If Automotive device implementations include multiple users, they:
Automotive Vehicle System Isolation (Section 9.14)
Automotive device implementations: