news 2026/5/12 16:44:14

AAOS车载开发GOOGLE官方培训文档Car Framework Core

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AAOS车载开发GOOGLE官方培训文档Car Framework Core

背景:

同学们在做车载相关的开发时候,在国内一般参考资料可能都是一些别人写的blog居多,当时这种毕竟不属于一手官方知识。很多同学可能也会到google官网去看相关的一些文章说明,具体网址如下:

https://source.android.google.cn/docs/automotive/guidelines?hl=zh-cn

但是说实话这个官方信息相对还是比较零散而且比较集中几个模块,对于刚刚接触Car Framework开发同学来说并不是那么友好,所以看官方网站内容其实并不适合新手学Car Framework进行入门。
今天马哥给大家分享一个非常适合刚开始从手机framework转到car framework开发的文档,该文档还是google 合作伙伴partner的官方培训文档。

文档部分内容展示:


Car Framework的整体架构,可以图中看出本质上就是在手机的架构基础上加入了额外的Car Serivce部分的服务,这个服务主要主要用来处理和车相关的一些定制操作。
下面列出了传统手机的安卓架构和安卓车载AAOs架构区别
Difference between the Traditional Android Stack
and the Car Stack:
● Car-specific apps use Car APIs to access functionality
implemented by Car Service.
● Car Service communicates with the System Server via
CarServiceHelperService to access core Android
functionalities.
● CarServiceHelperService’s main purpose is to start Car
service. However, CSHS is used when there is no specified
API to communicate with System Server.
● Car Service also connects to car-specific native services
such as CarWatchdog. These services handle Car-specific
tasks before the system server and Car Service are intialized.
● Car hardware is abstracted away using Vehicle HALs and
car-specific HALs.

总结就是车载系统的架构不仅仅可以运行标准手机那种app,也可以运行特定使用Car API开发的App,同时也详细介绍了Car Service相关作用,及它设计的车相关的一些HAL等服务,和传统安卓系统SystemServer的连接方式等。

详细介绍Car Service and Car Managers

Communication between Apps and Car Service
The Car SDK contains Car.java and other public classes. Any app can
create a Car object. A client app will use the Car object to retrieve
different managers (ex. CarUserManager, CarPowerManager).
● Internally, Car Service is an Android Service. It implements ICar.aidl in
ICarImpl. Any app or service that connects to Car Service will receive an
ICar binder object. The Car object will contain an ICar binder object to
communicate with ICarImpl.
● When the onServiceConnected callback completes for Car object it will
receive an ICar binder object.
● Every Car Manager will have a binder for its corresponding component.
For example, CarUserManager will connect to CarUserService using
ICarUserService.aidl.
● Important Note: Every service within Car Service is not a separate
process, but a separate object within the Car Service process.
Communication between Car.java and Car Service
● The Car object receives the ICar binder object after the
onServiceConnected callback completes.
● The Car object communicates with Car Service via the ICar
binder object.

Communication between Car Service
and System Server
● CarServiceHelperService’s main purpose is
to initialize Car Service.
● When the onServiceConnected callback completes,
CarServiceHelperService will receive an ICar binder object
as well to communicate with the Car Service process.

How the Car API Works

Accessing Car APIs
What actually happens?
Car Service 详细剖析解释

● Car Service is launched by System Server via CarServiceHelperService
during the device boot phase.
● If CarService crashes, it will be restarted.
● CarXXXServices are initialized sequentially during Car Service init.
● See ‘CarService.initAllServices’ trace in logcat.
● Car Service runs as ‘com.android.car’ process and is highly privileged.
● All permission checks for Car APIs are performed in Car Service.
● The majority of Car API business logic is implemented within Car Service.
● Car Service depends on multiple HALs, e.g. audio HAL, vehicle HAL etc.
and a few native daemons, e.g. car watchdog daemon and car power
policy daemon.

其他更多详细的文档内容就不一一展示了,相关文档马哥会分享到vip群内,大家自行阅读哈。

原文地址:
https://mp.weixin.qq.com/s/1BaQQGp9NsCOVbat2LYv4w

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 16:43:07

Scraperr开源爬虫平台:无代码自托管解决方案的技术架构与实战

1. 项目概述与核心价值如果你曾经为了从网站上抓取一些数据,不得不打开编辑器,写下一行又一行的Python代码,调试各种选择器,处理反爬机制,最后还要自己搭建一个界面来管理和查看结果,那么你一定能理解这种重…

作者头像 李华
网站建设 2026/5/12 16:42:05

餐饮人必看:商用厨房设备采购

开餐饮店,后厨设备是根基。不少新手老板第一次采购商用厨房设备,很容易被市场上的 “低价噱头”“多功能宣传” 带偏,贪便宜、图省事,结果用没多久就问题频发:炒灶火力不稳,出餐慢;冷藏柜制冷差…

作者头像 李华
网站建设 2026/5/12 16:34:08

华为Atlas800服务器:从Ubuntu20.04到MindSpore环境的完整AI开发栈部署实录

1. 环境准备:硬件与软件的双重检查 在开始部署之前,我们需要确保硬件和软件都准备到位。华为Atlas800服务器(型号9000)是一款专为AI计算设计的高性能服务器,搭载了昇腾NPU芯片。与普通服务器不同,它的硬件架…

作者头像 李华
网站建设 2026/5/12 16:25:03

FastGithub完整指南:3步实现GitHub访问速度提升300%

FastGithub完整指南:3步实现GitHub访问速度提升300% 【免费下载链接】FastGithub github定制版的dns服务,解析访问github最快的ip 项目地址: https://gitcode.com/gh_mirrors/fa/FastGithub FastGithub是一款专门为GitHub优化的智能DNS解析工具&a…

作者头像 李华
网站建设 2026/5/12 16:24:35

DFT DRC实战:从RTL到网表的全流程检查与修复

1. 从RTL到网表的DFT DRC全景图 第一次接触DFT DRC时,我被各种专业术语搞得晕头转向。直到参与了一个完整的芯片项目后,才真正理解这个检查流程就像给电路设计做"全身体检"。想象你正在装修房子,RTL阶段是画设计图,Pre-…

作者头像 李华