Common Android Automotive configuration and overlays for a shared car device target.
This repository is used to make a product/device build target behave as an Android Automotive target by inheriting the common car configuration in car.mk.
This repository provides:
- A product makefile fragment (
car.mk) that enables core automotive components and permissions. - Shared framework manifest additions for automotive HALs.
- Automotive hardware feature declarations.
- Runtime Resource Overlays (RRO) used to tune default car behavior.
-
car.mk- Main integration entry point.
- Adds automotive packages/services depending on
PLATFORM_SDK_VERSION. - Copies required permission XML files.
- Registers overlays and framework manifest fragment.
- Sets default automotive product properties.
-
common/configs/car_core_hardware.xml- Declares core
android.hardware.*andandroid.software.*features expected for the car target.
- Declares core
-
common/manifests/manifest.xml- Framework HAL manifest entries for:
android.hardware.automotive.vehicle@2.0android.hardware.broadcastradio@2.0
- Framework HAL manifest entries for:
-
rro_overlay/CarServiceOverlayCommonCar- Targets
com.android.car. - Disables startup notice UI via
config_userNoticeUiService.
- Targets
FrameworksOverlayCommonCar- Targets
androidframework resources. - Forces default orientation to landscape.
- Targets
SettingsProviderOverlayCommonCar- Targets
com.android.providers.settings. - Sets landscape defaults and marks device/user setup as complete.
- Targets
car.mk wires common automotive behavior into a product build, including:
- Automotive service packages (audio control, EVS, vehicle HAL, broadcast radio).
- Automotive and related permission XMLs in vendor/system partitions.
DEVICE_FRAMEWORK_MANIFEST_FILEextension withcommon/manifests/manifest.xml.- Static RRO packages:
CarServiceOverlayCommonCarFrameworksOverlayCommonCarSettingsProviderOverlayCommonCar
- Automotive product characteristics (
PRODUCT_CHARACTERISTICS := automotive). - Pre-created user/guest defaults and optional car user HAL property.
- Inherited AOSP car product makefile:
packages/services/Car/car_product/build/car.mk
From your product/device makefiles, include this repository's car.mk:
# Example (path may vary based on your tree)
$(call inherit-product, device/generic/car/common/car.mk)If your local path differs, adjust the include path accordingly.
- Package selection in
car.mkis SDK-version aware (PLATFORM_SDK_VERSION) and enables different HAL/service variants for newer platform releases. - Overlay modules are marked
vendor: trueand built as static overlays. - Some comments in config files are emulator-focused; verify behavior against your target hardware and Android release branch.
This repository is licensed under the MIT License.