Android Automotive

Android Automotive

What is Android Automotive ?

Android is an open source, Linux based OS, created for a wide array of devices and form factors including mobile devices (ex: phones and tablets), wearables (ex: watch), and automotive In-Vehicle Infotainment (IVI).

Android Automotive designed for in-vehicle infotainment (IVI). It’s a full Android operating system that is installed and run on the car’s hardware. To address the specific requirements of the automotive market the IVI devices must support, Android comes with software components that are specific to automotive among :

  1. Vehicle HAL: handle the vehicle network connection like CAN and LIN.
  2. Car Service: set of automotive services like driver restriction and cluster rendering.
  3. Car API: set of framework automotive APIs for applications like HVAC.

The components above are extensions to the generic Android platform to support IVI devices. They interact with the rest of the Android software components such as the System UI, System Server, etc.

The Android platform plus the automotive software components is called the Android Car platform. The diagram below represents the high-level architecture of the Android Car platform for an IVI device (including the automotive software components).

No alt text provided for this image

Android Automotive and Android Auto

Before we start, we should explain the difference between Android Auto and Android Automotive.

  • Android Auto is just a mirroring application that allows to stream features from mobile phone or tablet to the vehicle dashboard.
  • Android Automotive puts a Hardware Abstraction Layer on the vehicle subsystems, which allows gathering car-related data and using it inside Android applications.

Trying the Android Automotive

Android Automotive source code is part of the Android Open Source Project . This is the repository that contains code needed to create variant Android operating systems. Companies take the AOSP and extend/customize it according to their needs, for example, changing the look or adding support to a new sensor.

First we get our source code:

$ mkdir android_automotive && cd android_automotive
$ repo init -u https://android.googlesource.com/platform/manifest -b master
$ repo sync -c -j4        

after downloading the source code we start the build :

$ source build/envsetup.sh
$ lunch aosp_car_x86_64-userdebug
$ make -j4        

now run the emulator:

$ emulator        

This is the end of the article, I hope you enjoyed it. Share the story to spread knowledge !

Reference


要查看或添加评论,请登录

Boudour Ayari的更多文章

社区洞察

其他会员也浏览了