Android车载系统Car模块架构链路分析

这篇具有很好参考价值的文章主要介绍了Android车载系统Car模块架构链路分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、模块主要成员

CarServiceHelperService 

SystemServer 中专门为 AAOS 设立的系统服务,用来管理车机的核心服务 CarService。该系统服务的具体实现在 CarServiceHelperServiceUpdatableImpl

CarService

Car模块核心服务APP,Android 13版本开始分为两个,一个是掌管 CarService 服务类的 builtin app,源码在:packages/services/Car/service-builtin/,一个是拥有具体实现和大量 Service 的 updatable app,源码在:packages/services/Car/service/;在系统中,它是在/system/priv-app/CarService/CarService.apk

Car-lib(Car API)

Android 车机里提供给系统使用汽车相关功能的专用接口,源码在:packages/services/Car/car-lib/,它会编译到 android.car.jar 中,其中包括常用的 Car、CarPowerManager、CarSettings 等。

Car APPs

AAOS 专为汽车设计的系统app,目录在:packages/apps/Car/。例如面向 Car 的 SystemUI、Launcher、Settings等。

二、Car模块内部交互机制

下面用一张图以 CarInputService 和 CarpropertyService 演示说明:

Android车载系统Car模块架构链路分析,# 车载知识,车载系统,android文章来源地址https://www.toymoban.com/news/detail-827239.html

 三、总结

Car 相关组件 所属进程 作用
CarServiceHelperService SystemServer 管理 Car Serivce 的系统服务
CarService builtin app Car 核心服务
updatable app Car 核心服务的具体实现
Car-lib android.car.jar Car API SDK
Car Apps Launcher 等 Car 专门设计的一系列 App
  1. SystemServer 进程在系统启动的时候发现 OS 具备 Automotive 的 feature,则启动 CarServiceHelperService 系统服务,并交由 CarServiceHelperServiceUpdatableImpl 实际负责和 CarService 的绑定
  2. CarService 的 builtin app 由父类 ServiceProxy 完成中转,即反射出 updatable app 中 CarServiceImpl 实例
  3. CarServiceImpl 的初始化将构建 ICarImpl 实例并构建内部的一堆具体服务 CarServiceBase,比如负责输入的 CarInputService 、负责车辆属性的 CarPropertyService 等
  4. 这些具体服务通过 HalServiceBase 和 VehicleHal 进行交互,比如调度输入事件的 InputHalService、读写/转换车辆属性的 PropertyHalService 等
  5. 后续的交给 VehicleHal 通过 HIDL 和 HAL 层交互
  6. 其他 Apps 可以通过 Car lib 提供的 Car API 获取 CarService 中的服务接口即 ICarImpl
  7. ICarImpl 通过启动时候注册的服务名称和 CarServiceBase 实例对照表向 Apps 返回对应的接口实例,比如控制、监听输入的 CarInputManager、读写车辆属性的 CarPropertyManager
  8. 其他 Apps 拿到这些 Manager 接口之后,像 AOSP 中使用 ActivityManager 等接口一样通过 AIDL 和 CarService 进行交互

到了这里,关于Android车载系统Car模块架构链路分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android车载学习笔记1——车载整体系统简介

             汽车操作系统包括安全车载操作系统、智能驾驶操作系统和智能座舱操作系统。 1. 安全车载操作系统         安全车载操作系统主要面向经典车辆控制领域,如动力系统、底盘系统和车身系统等,该类操作系统对实时性和安全性要求极高,生态发展已趋于成

    2024年02月06日
    浏览(43)
  • 车载Android应用开发与分析 - 初试 SystemUI Plugin

    在前面的视频、文章中我们介绍完了整个车载Android应用开发所需要的基础知识: 【视频文稿】车载Android应用开发与分析 - 走进车载操作系统 - 掘金 【视频文稿】车载Android应用开发与分析 - AOSP的下载与编译 - 掘金 【视频文稿】车载Android应用开发与分析 - 开发系统应用 - 掘

    2024年02月02日
    浏览(28)
  • 【Android车载系列】第1章 车载系统整体介绍

            汽车操作系统是从传统汽车电子不断演变而来的,传统汽车电子产品可分为两类: 一类是汽车电子控制装置,通过直接向执行机构(如电子阀门、继电器开关、执行马达)发送指令,以控制车辆关键部件(如发动机、变速箱、动力电池)协同工作,这类系统一般

    2023年04月25日
    浏览(29)
  • Android 车载应用开发之车载操作系统

    到 2030 年,全球电动汽车的销量将超过 7000 万辆,保有量将达到 3.8 亿辆,全球年度新车渗透率有望触及 60% 。这一数据来自国际能源署(IEA)发布的《全球电动汽车展望2023》。 市场趋势和政策努力的双加持下,新能源汽车来势凶猛,燃油车保有量逐年递减。此番景象让死去

    2024年02月22日
    浏览(41)
  • Android13音频子系统分析(一)---整体架构

             目录 一、应用API层 二、Java框架层 三、Native核心层 3.1 AudioFlinger模块 3.2 AudioPolicyService模块 四、HAL层         本文基于AOSP13源码进行分析解读。所以与各个SoC平台厂商提供的运行在真实设备上的源码会有细微差异,但核心原理区别不大。         音频子系

    2024年02月07日
    浏览(36)
  • 【运维知识大神篇】超详细的ELFK日志分析教程7(filebeat常用模块+filebeat采集固定格式日志+自定义日志格式写入ES+EFK架构转ELFK架构+两个业务实战练习)

    本篇文章继续给大家介绍ELFK日志分析,详细请见下面目录。 目录 filebeat采集nginx日志 filebeat模块使用 一、Nginx模块 二、tomcat模块 三、filebeat写数据到ES集群自定义索引 四、filebeat自定义字段之nginx写入ES 五、filebeat自定义字段之tomcat写入ES 六、indices模块实现多个input写入不同

    2024年02月05日
    浏览(34)
  • 【Android车载系列】第2章 车载系统启动与CarService

              车载Android启动流程基本是在Android系统的启动流程中, 多了Car相关服务 。其他流程基本一致,下面我们来看一下Android系统的启动流程。         Android系统的启动,从设备的开机键长按开始到Android桌面展示,这个完整流程就是Android系统启动的流程。从系统层次角

    2024年02月14日
    浏览(32)
  • 结合云计算的最新技术和现状,介绍云计算基础知识、开源分布式数据库Clickhouse、可视化数据分析工具、分布式链路跟踪系统Pinpoint、数据湖存储系统Pulsar等

    作者:禅与计算机程序设计艺术 2019年,“云计算”将成为“经济全球化”的热门词汇之一,2020年全球云计算市场规模预计达到1万亿美元。中国是继美国、英国之后,成为全球第四大云服务提供商。华为、腾讯、阿里巴巴等互联网巨头纷纷布局云计算领域,各家公司纷纷推出

    2024年02月08日
    浏览(38)
  • 车载基础软件——嵌入式系统时间特性分析

    我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 人们会在生活中不断攻击你。他们的主要武器是向你灌输对自己的怀疑:你的价值、你的能力、你的潜力。他们往往会将此伪装成客观意见,但无一例

    2024年02月05日
    浏览(52)
  • Android 12.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析

      在android12.0的系统rom定制化开发中,在系统原生systemui进行自定义下拉状态栏布局的定制的时候,需要在systemui下拉状态栏下滑的时候,根据下滑坐标来 判断当前是滑出通知栏还是滑出控制中心模块,所以就需要根据屏幕宽度,来区分x坐标值为多少是左滑出通知栏或者右滑

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包