Skip to content

iamimmanuelraj/device_common_car

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

device_common_car

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.

Repository Layout

  • 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.* and android.software.* features expected for the car target.
  • common/manifests/manifest.xml

    • Framework HAL manifest entries for:
      • android.hardware.automotive.vehicle@2.0
      • android.hardware.broadcastradio@2.0
  • rro_overlay/

    • CarServiceOverlayCommonCar
      • Targets com.android.car.
      • Disables startup notice UI via config_userNoticeUiService.
    • FrameworksOverlayCommonCar
      • Targets android framework resources.
      • Forces default orientation to landscape.
    • SettingsProviderOverlayCommonCar
      • Targets com.android.providers.settings.
      • Sets landscape defaults and marks device/user setup as complete.

What car.mk Configures

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_FILE extension with common/manifests/manifest.xml.
  • Static RRO packages:
    • CarServiceOverlayCommonCar
    • FrameworksOverlayCommonCar
    • SettingsProviderOverlayCommonCar
  • 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

Integration

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.

Notes

  • Package selection in car.mk is SDK-version aware (PLATFORM_SDK_VERSION) and enables different HAL/service variants for newer platform releases.
  • Overlay modules are marked vendor: true and built as static overlays.
  • Some comments in config files are emulator-focused; verify behavior against your target hardware and Android release branch.

License

This repository is licensed under the MIT License.

About

Common Make files to Make a Device as Android Automotive (Android Auto Car)

Topics

Resources

License

Stars

Watchers

Forks

Contributors