【视频文稿】车载Android应用开发与分析 - 走进车载操作系统

简介:

本期内容的视频地址:https://www.bilibili.com/video/BV1rR4y1B7Qd/

Hello,各位好,我是一个做车载软件开发的软件工程师,之前在CSDN、稀土掘金这些平台上发表过一些车载应用方面的文章,期间得到了许多朋友的反馈。2023年呢就打算好好开始整理一下这几年的一些积累,帮助正在从事或以后打算从事车载Android应用开发的朋友,更好的去了解车载应用开发的一些基础知识。

做视频的主要目的,其实是锻炼我自己的总结以及说话的能力,如果这个系列的视频对各位有所帮助,那也是非常值得开心的一件事了。

本视频是《车载Android应用开发与分析》的第一篇,走进车载操作系统。

本视频的文字内容,可以扫描这里的二维码关注我的个人微信公众号(《车载Android》)查看,或者访问这个博客也可以查看。

视频中的课件我放在了我的Github https://github.com/linxu-link/CarAndroidCourse
上,以后视频中的所有课件、源码以后都会放在这里,同时我在编写视频文案时参考的一些非常有价值的研究报告,也会放置在这里供大家阅读,当然前提是这些报告不涉及企业的内部机密。

由于受我个人能力所限,视频内容会不可避免的存在一些错误,如果你对视频内容有不一样的看法,欢迎发送邮件(linxu_link@foxmail.com)给我,我会尽快核实并改正的。

好了,话不多说,咱们进入正题。


车载软件的机遇与挑战

首先,我们来看一则最近的新闻,根据Counterpoint Research的调研,2022年中国智能手机销量同比下降高达14%,达到了近十年来的最低水平。

这里我们要明白一点,手机出货量的下降预示一些原本做手机硬件或软件的公司,为了求生存他们不得不把目光转向技术跨度不大,且目前还能维持增长的领域,那么这个领域其实就是汽车。

所以2023年会有更多的公司或个人转型从事车载相关的研发,这对于目前已经在从事车载研发的公司或个人并不是一个好消息,这个意味着以后会面临着更多的挑战。

那么车载 Android 开发的前景究竟怎么样呢?来看一张图,这就是大名鼎鼎的 ChatGPT 的回复。

ChatGPT对车载Android开发的未来,是非常看好,不过,我个人其实并不赞同!

2011年移动互联网开始起步,当时的应用开发十分火热,但是没过多久应用开发就开始走向下坡,作为一个见证了移动互联网兴衰的人,同时身处各大车企价格战的年代,我已经很难再说车载 Android 开发的前景是非常光明的了。

例如:理想汽车的CEO不久前接受采访时就说过:“2023年到2025年是极为残酷的淘汰赛,不需要那么多公司。”这意味着,对接下来市场竞争的残酷性,各个车企的参与者们已经普遍有比较清晰的认知了,而特斯拉年前的大降价,无疑会进一步加剧事态的严重性。

当然这里要强调我个人不想贩卖焦虑也不卖课,以上说明只是希望准备转行的同学要慎重考虑清楚,已经在从事车载 Android 开发同学还是要有一定危机意识的。

好,我们还是要回到视频的重点车载Android应用开发与分析上来。在开发车载 Android 应用之前,我们需要对目前汽车使用的操作系统有一定的认识。

那么我们首先需要了解的就是,什么是车载操作系统?


车用操作系统

在讲车载操作系统之前,我们需要先来认识一下另一个东西——车用操作系统。

车用操作系统是一个偏学术的用语。2019 年 10 月,全国汽车标准化委员会发布了《车用操作系统标准体系》,其中规范了车用操作系统定义,明确划分了车用操作系统包含两个子系统,车控操作系统和车载操作系统。

首先我们来看车控操作系统。

车控操作系统(vehicle-controlled operating system)

车控操作系统分为安全车控操作系统和智能驾驶操作系统,其中:

安全车控操作系统 主要面向经典车辆控制领域,如动力系统、底盘系统和车身系统等,该类操作系统对实时性和安全性要求很高,生态发展已趋于成熟了。

智能驾驶操作系统 主要面向智能驾驶领域,应用于智能驾驶域控制器,该类操作系统对安全性和可靠性要求较高,同时对性能和运算能力的要求也较高。该类操作系统目前在全世界范围内都处于研究发展的初期,生态尚未完备。

然后我们再来看车载操作系统。

车载操作系统(on-vehicle operating system)

车载操作系统 主要面向信息娱乐和智能座舱,主要应用于车机中控系统,对于安全性和可靠性的要求处于中等水平,该类操作系统发展十分迅速,依托于该类操作系统的生态也处于高速发展阶段。

由于本视频主要还讲解Android车载应用的开发与分析,所以车控操作系统就不再深入介绍了,感兴趣的朋友可以在本视频的GitHub仓库中查找“车控操作系统架构研究报告”进行学习。

下面我们来继续介绍车载Android工程师,主要工作的领域,就是车载操作系统的现状是怎样的。


车载操作系统的现状

目前,应用于车载领域的操作系统包括有 QNX、Linux/AGL、RT-Linux、 AliOS、AliOS RT、Android 和鸿蒙 OS 等。

车载操作系统从功能角度可分为,非实时操作系统和实时操作系统。

从应用的角度又可分为,用于中控的车载操作系统,用于仪表的车载操系统和用于 T-box 的车载操作系统。

下面这张表格展示了当前各大主流汽车厂商所搭载的车载操作系统。

目前国内的汽车企业,仪表一般采用QNX或Linux系统,中控则多数采用Android系统,T-box则基本以Linux系统为主,也有少部分使用QNX系统。

接下来我们就逐个介绍一下这些常见的车载操作系统。

车载操作系统简介

QNX

QNX 最初应用在仪表上的,是第一个符合 ISO 26262 ASIL D 规范的实时操作系统,它能满足数字化仪表盘功能性安全的要求,同时也满足数据安全要求,通过了美国军方的EAL4+,目前是QNX由黑莓公司持有。

QNX的应用范围非常广,从汽车到核电站、以及无人作战坦克的控制系统都有涉及。

因为 QNX 并不开源,针对 QNX 开发是需要支付一定的商业授权费用的。

Linux

Linux 是基于社区开源模式的多用户、多任务、支持多线程和多 CPU 的分时操作系统,因为 Linux 是在 GNU 公共许可权限下免费获得的,无需商业授权费用,用户可自主定制,开发成本相对较低。正因为开源,Linux 系统开发工具非常丰富,几乎所有应用芯片都支持 Linux。Linux 系统上的程序是编译执行的,执行效率比较高。

但是,Linux 内核复杂度较高,Linux V4.19 的内核代码有一千七百多万行,而且还在持续增长。正因如此,在安全性和启动速度等方面,Linux 要落后于 QNX。针对汽车的应用场景,AGL(Automotive Grade Linux)和 GENIVI 都在极力打造 Linux 生态系统,以加速 Linux 在车载系统上的应用。

AliOS

AliOS是阿里巴巴发布全新的品牌,整合了原先的AliYunOS移动端业务,主要面向汽车、IoT终端、IoT芯片和工业领域的物联网操作系统。

AliOS 车载操作系统基于 Linux 内核,具备自主知识产权,支持多个类型的端设备,除了具备最基础的进程、线程调度等功能外,还 支持定位和地图、辅助驾驶、轻量化的车载语音智能等服务,可连接 AIoT 设备 2.72 亿+,提供 5200+实用 AI 技能和 3 亿+生态资源,为智能汽车、数字交通和产业数字化三类解决方案提供技术基础。AliOS 车载操作系统架构主要包括 AliOS 核心系统、数据服务平台以及工程 化支持平台三大部分。

AliOS 核心系统主要实现 Linux 内核、设备驱动、内核安全、多核实时调度、硬件抽象、基础库、图形处理、多媒 体框架、电源管理、网络连接、安全管理、云应用管理和运行时环境 等功能;数据服务平台提供基础服务、核心云服务以及车云互联的服务;工程化支持平台基于开放的车辆服务融合平台和云测平台,提供开发、测试、服务接入为一体的车载应用和服务生态

目前上汽的荣威以及智己等车型均有搭载AliOS。

Android

Android 车载操作系统基于 Linux 内核,主要功能模块集中在 用户空间,在 Linux 内核中仅增加了用于进程间通信的 Binder 和用于内存共享的 ION,其突出优点是应用生态。Android 应用程序在 Android 虚拟机里是解释执行的,相对于编译执行来说,执行效率较低。

Google 于 2019 年开放了 Android Automotive,原本为移动互联设备开发的 Android 应用生态可迁移到 Android Automotive。

目前,Tier1 和车企多数都是基于 Android 自研车载操作系统。

鸿蒙 OS

车载的鸿蒙OS是华为研发的一款面向全场景的分布式操作系统,目标是提升操作系统的跨平台能力,包括支持全场景、跨多设备和平台、低时延和高安全性。

鸿蒙 系统包括三层架构:第一层是内核,第二层是基础服务,第三层是程序框架。

鸿蒙车载操作系统 Harmony 是通过一芯多屏、多并发、运行时确定保障等能力,满足出行场景需要,具有“多用户,多外设,多 联接”的特点,定义了 HMS-A(HMS for Auto,包括:语音、音效、 视觉、AI 等 7 大核心能力)、12 个车机子系统和 500 多个 HOS-C API, 支撑 OEM、合作伙伴、第三方应用快速开发、持续升级。

围绕鸿蒙OS的争议非常多,这里我不做任何评价。不过2023年前我阅读了一份由中汽创智发布的《2022年智能座舱年度报告》,其中对于问界M5搭载的鸿蒙OS的流畅度评价非常高,而且我们还要认识到一点麒麟990A是一款28nm制程的芯片,其综合性能是逊于7nm制程的8155芯片。在硬件性能劣势的情况下,问界M5的车机流畅度依然达到了顶级,相信这其中鸿蒙OS 一定起到了功不可没的作用。


车载操作系统架构

车载操作系统架构可分为单系统架构多系统架构。两类架构都可实现一芯多屏(多屏融合、多屏互动)、单屏多系统(虚拟运行环境、多应用生态融合)、一芯多功能(信息娱乐、T-box 等)。

先来看单系统架构。

  • 单系统架构(single system architecture)

单系统架构,它由车载操作系统内核、资源抽象层、基础库、基础服务、运行时环境、程序运行框架和车载操作系统安全模块组成, 对底层硬件和上层应用程序提供统一的接口,这样就能实现车载操作系统与硬件和上层应用程序间解耦。

  • 多系统架构(multisystem architecture)

多系统架构是同一套硬件上运行多个车载操作系统的架构,技术上可分为硬件隔离、虚拟机管理器、容器三类多系统基础架构,以及两类或三类基础架构组合成的混合架构,用于满足不同功能、性能和安全的隔离需求。

有关单系统架构和多系统架构的详细实现,作为应用开发者我们不需要过多关心,有兴趣的同学可以阅读《车载操作系统架构研究报告》中的有关章节,进行进一步学习。

接下来我们来看,目前较为主流的车载操作系统架构是什么样子的。

这张图描述了目前较为常用的车载操作系统架构,我们从下往上看,其他硬件这里面就是汽车主机以外的硬件,例如汽车电子控制模块、电池管理系)、ADAS高级驾驶辅助系统等等。这里面我们最需要关注的硬件是T-Box。

T-Box

T-Box 又称 TCU,是汽车上独立于主机之外的一个硬件,英文叫Telematics Box (远程通信终端),它有一套独立的操作系统一般是Linux系统,它里面内置了一张SIM卡,与这个盒子配套的硬件还有GPS天线,4G/5G天线等等,量产后的汽车要实现联网功能必须有T-Box设备才能可以。

这里额外提一嘴,UP是17年大学毕业19年开始从事车载Android应用开发的,出于个人兴趣的原因,我现在其实是在做T-Box也就是Linux应用的开发,所以做“车载Android 应用开发与分析”这个系列的视频也可以看做是我个人在工作之余,为了继续保持Android开发能力的一种行为。

以太网

以太网(Ethernet),是一种计算机局域网技术。也是移动应用开发者,天天都会打交道的东西。在汽车座舱中硬件间的相互通信有时需要借助以太网来实现,例如:Tbox与车机与中控系统间的通信就是基于以太网实现的。

它常用的通信协议有MQTT、HTTP以及SOME/IP等等。

CAN

控制器局域网 (Controller Area Network,简称CAN或者CAN bus) 是一种功能丰富的车用总线标准。被设计用于在不需要主机(Host)的情况下,允许网络上的单片机和仪器相互通信。 它基于消息传递协议,设计之初在车辆上采用复用通信线缆,以降低铜线使用量,后来也被其他行业所使用。例如一些超市的电动卷闸门控制系统,也有使用 CAN 进行通信的。

CAN 是车载领域很重要的一种通信总线,我们在中控屏上查看、设置车门、发动机、后备箱这些模块,其实就是借助CAN bus实现的,即使是Android程序员也经常会和它打交道。

SOC

SoC的定义非常多,一般可以理解为单片系统或片上系统,是一个将电脑或其他电子系统集成到单一芯片的集成电路。更通俗的来讲,我们可以把它理解为CPU+GPU的一种嵌入式芯片组合。

车载Soc和手机Soc基本类似。目前最主流的车载Soc是高通的骁龙8155芯片,下一代的8295芯片也由集度汽车实现了首发,鸿蒙座舱的Soc多数是使用华为的麒麟990A芯片,不过也有车企开始更换为双8155的芯片组合。

MCU

单片机,全称单片微型计算机,又称微控制器单元(microcontroller unit),是把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。

常见的车机开发板上一般同时包含一个SOC 和一个MCU,二者之间通过串口通信,协同工作。SOC 擅长处理多媒体信息,负责渲染用户界面以及控制音视频播放等等。MCU 的性能比较差,但是相对的功耗很低,实时性好,负责电源和车辆的信号控制。

Hypervisor

虚拟机管理器,是一种运行在硬件层和操作系统之间的中间软件层,是用来创建与执行虚拟机的软件。

Hypervisor包含两种类型,裸机型和宿主型。

  • 祼机型

裸机型 Hypervisor 最常见,直接安装在硬件资源之上,操作系统安装并运行在 Hypervisor 之上。

目前常见的虚拟机管理器就包括有黑莓的 QNX和英特尔的 ACRN等等,还有很多。

  • 宿主型

宿主型,又称基于操作系统的虚拟化。将虚拟化层安装在主机操作系统中,虚拟化软件以应用程序进程形式运行在主机操作系统中,而主机操作系统运行在物理硬件之上。

这张图继续往上的这一部分就是本系列视频的重点了 - 车载 Android 系统。


车载 Android 系统

官方网址:https://source.android.google.cn/docs/devices/automotive

Android Automotive OS 简介

车载 Android 系统也被称为 Android Automotive OS,是对原始 Android 系统的一个功能扩充版本。与手机系统一样,Android Automotive OS 源代码完全开放,第三方供应商和汽车制造商可以官方源码的基础上自行开发和拓展,无论是编程语言还是各项接口,都与Android系统保持了一致。

与Android手机上的google服务类似,google在汽车上也提供了用于汽车的google汽车服务(GAS,Google automotive service),包含有google地图、应用市场、google汽车助理等等。google汽车服务同样没有开源,而是以软件包的形式提供给制造商。

Android 7.0 是google首次开始在Android系统提供汽车相关的服务支持,Android 8.0 则进一步完善了汽车服务,也推翻了一些Android 7.0中实现。Android 9.0 是Android Automotive真正实现落地的版本,首个搭载标准Android Automotive OS的汽车是沃尔沃旗下的Polestar2,该型汽车于2020年开始进行交付,此后越来越多基于Android Automotive OS修改的车载信息娱乐系统(IVI)开始问世。

这里需要注意,由于汽车厂商间的差异化竞争日渐加剧,目前国内汽车搭载的Android系统与标准的Android Automotive OS无论是架构层还是应用都已经存在较大的差别了。

说了那么多 Android Automotive 的架构那么它和 Android 之间难道没有区别吗?

Android Automotive OS 和 Android 的区别

首先,还是要强调Android Automotive 基于 Android 平台打造的,它并不是 Android 的分支或并行开发版本。它与手机、平板电脑等设备上搭载的 Android 系统使用同样的代码库,在Android上可以运行的应用同样可以在 Android Automotive上运行。

不过 Android Automotive毕竟是为汽车打造的平台,所以在 Android 的基础上扩展了很多与汽车相关的服务和功能,比较典型的就是Framework 层的 CarService 和 HAL 层的 VehicleHAL,应用层由于需要适配汽车的交互方式,所以修改也非常大,但是以上种种都还没脱离Android系统的范畴

Android Automotive OS 架构

图中绿色部分是 Android 原生的代码,蓝色部分是车厂需要修改或添加功能的代码,紫色部分是集成的第三方应用。不过在国内实际开发中,无论是绿色还是蓝色部分,我们都会根据需要进行修改和裁剪。

  • System APP

系统应用,系统应用是为了操作系统能正常、高效工作所配备的各种管理、监控和维护系统的程序。例如:SystemUI、Luancher、系统设置。

  • OEM APP

厂商应用,由主机或车厂开发、集成的应用,基本功能都是与车辆有关。例如:用户手册,电源管理、车辆设置等。

汽车供应商招聘Android应用开发者,实际上就是为了开发这些系统应用和厂商应用,这些应用的实现细节将会是我们以后一起学习的重点。

  • 3RD Party APP

第三方应用,在车机中集成各种第三方软件公司开发的APP。一般以音视频娱乐类为主,例如:哔哩哔哩、爱奇艺等。部分厂商的车机系统中还附带了应用商店,用户也可以在其中选择下载自己需要第三方应用。

  • Android Framework API

用于实现上层应用与System Service通信的接口。

  • Android System Services

系统服务,不必多说是Android系统的核心模块,支持着 Android 系统的正常运行。

  • Car API

用于实现上层应用与CarService通信的接口。

  • CarService

CarService是车载Android系统新增的核心服务,所有应用都需要通过CarService来查询、控制整车的状态。CarService中包含的车载系统服务非常多,例如:CarInputService CarMediaService、CarPowerManagementService等等,更多内容可以阅读我之前写过的文章【Android R】车载 Android 核心服务 - CarService 解析

  • Traditional Android HAL

传统Android 硬件抽象层,就是对Linux内核驱动程序的封装,向上提供稳定的接口,屏蔽底层的实现细节,同事还有有规避Linux内核开源协议的作用。

  • Vehicle HAL

汽车硬件抽象层,这是车载Android系统新增的硬件抽象层,它的作用使用定义标准接口,让CarService可以忽略各个汽车厂商的具体实现,也就是说CarService负责调用VehicleHAL定义的接口,而 Android Automotive OS中VehicleHAL并没有具体的实现细节,所以VehicleHAL需要汽车制造商或芯片厂商来实现。


但是说到底,我们从事车载应用开发的程序员还是要多了解车载应用,所以最后我们再看一下,常见的车载 Android应用有哪些。


常见应用

系统应用

  • SystemUI

系统界面,在Android中也是一个标准的APK应用程序,用来显示一些不属于应用程序的交互界面。

常见的状态栏、导航栏、消息中心、 快捷设置、音量调节弹窗、蓝牙连接弹窗等一系列界面都是由SystemUI模块负责管理、显示的。SystemUI中的大部分组件都与framewok service存在耦合。是车载应用开发中需要重点定制的项目。

该应用通过 SystemServer 启动。

  • Launcher

桌面启动器,桌面启动器是帮助用户查找和启动其他应用程序的软件。主要负责摆放小部件,显示其它应用程序入口。

现代智能座舱的HMI在设计上,开始赋予Launcher越来越多的功能,例如:显示3D的车辆模型、地图定位等等。

该应用由SystemServer进程下的ActivityManagerService启动。

  • 系统设置

系统设置是操作系统中非常重要的一个系统级应用,能够使用户能够改变操作系统的状态和行为。

系统设置是整个IVI(车载信息娱乐系统)的控制中心,车辆的音效、无线通信、状态信息、安全信息等都是需要通过系统设置来查看和操作。

多媒体应用

  • 收音机

目前的车载收音机包括传统的模拟信号收音机和现代化的数字信号收音机,根据销售国家的不同,车载收音机支持的种类也有所不同。

AM/FM

最常见的模拟收音机制式,AM - 调幅收音机,FM - 调频收音机。在不同国家和地区,频率范围有一定的差别。

RDS

无线电数据广播(英语:Radio Data System, RDS)是一种在传统的FM广播中嵌入少量的数字信息的通信协议标准。它在发射信号时可以利用副载波将电台名称、节目类型、节目内容及其它信息以数字的形式发送出去。

DAB 及 DAB+

数字信号广播( Digital Audio Broadcasting 简称DAB)是继AM、FM传统模拟广播之后的第三代数字信号广播,它提供了接近CD质量的声音,具有抗噪声、抗干扰、抗电波传播衰落、适合高速移动接收等优点。目前主要应用于欧美和香港等地区

除此以外还有 HD Radio、SXM Radio等较为少见的收音机制式。

  • 音视频播放

音视频播放属于车内驾驶体验的不可缺少的一部分,现代汽车的音视频播放功能主要用于播放SD卡或U盘中的离线音视频文件,在线音视频播放功能基本都集成第三应用实现。

实际开发中我们基本上使用 MediaPlayer 或 ExoPlayer 即可。

工具类应用

  • 地图导航

车载地图导航与手机地图导航相比,一般都会调整界面以方便驾驶员观察,并且都增加了惯性导航功能,现代智能座舱还支持将导航信息输出到仪表盘和 HUD(抬头显示)中。

早期的汽车座舱由于受网络限制,并不支持在线更新地图,一般会有4s 店进行离线的地图更新。随着移动互联网的发展,当代的智能座舱已经支持在线更新地图并提供实时路况功能。

国内知名的车载地图导航供应商有,高德、百度和腾讯等。

  • 语音识别与语音控制

语音技术在我们的日常生活已经随处可见,汽车可以说是语音技术应用的最佳案例之一。

驾驶过程中驾驶员很难像使用手机那样操作车机系统,语音控制技术的引入可以帮助驾驶员在不额外分心驾驶的基础上,完成各类车辆操控。

目前国内语音供应商非常多,主要有科大讯飞、百度、腾讯、华为等等。

车控应用

车控应用主要包含车载空调应用与车控车设应用。

  • 空调

车载空调用于调节车内温度、湿度,给乘员提供舒适的环境。除了基本空调功能外,高级的空调系统还包含,空气净化、香氛系统等等。

  • 车控车设

车控车设主要负责舒适性控制、车辆控制以及智能驾驶。舒适性控制包含座椅通风、座椅姿态控制、车内照明、门窗开闭等等,车辆控制包含刹车辅助、车身姿态控制、方向盘助力等等。

车控车设的功能与整体的车辆设计有很大关系,以往不同车辆之间差异较大,但是随着智能座舱的发展,车控车设也出现了同质化的趋势。

辅助驾驶应用

辅助驾驶的应用有很多,Android开发者需要重点了解的是倒车影像和全景影像,其他的辅助驾驶功能一般会集成在车控车设应用里面,当然也有一些是独立存在的,这与各个汽车制造商对产品的定义有关系。

首先我们来看倒车影像。

  • 倒车影像

倒车影像是驾驶辅助系统中的一个重要配置项,在车辆倒车时可通过装备在车辆后方的摄像头,将车后状况实时显示在中控或后视镜的显示屏上,方便驾驶员观察。

倒车影像需要覆盖倒车辅助线,倒车辅助线用于驾驶员判断车辆行驶过程中的轨迹和车辆与物体的距离,通常分为静态倒车辅助线动态倒车辅助线动态倒车辅助线的线条会随着方向盘转动而转动,从而准确的描出倒车的轨迹。

  • 360全景影像

360全景影像又称全景泊车系统,是2005年后逐渐出现的一种泊车辅助技术。早期泊车辅助系统常采用雷达或单摄像头,使用声音报警或显示车辆后方摄像头视频图像的方式,帮助车辆驾驶员判断盲角处车辆与障碍物距离。采用雷达报警方式,距离的显示并不直观;采用后置摄像头方式,则仍会存在盲角和距离判断不准的问题。于是逐渐兴起了全景泊车技术。

这种技术方案里面,车辆装备4个广角鱼眼摄像头,分别位于车前、车后和两个倒车镜内,可以完整采集车辆四周的影像。四幅影像通过Soc中的DSP或GPU进行拼接,最终将4路视频图像合成为一幅完整的鸟瞰图。也有的方案是使用外部硬件对图像进行图拼接,这样输出到Soc里的画面就已经是拼接好的了。

车辆互联

  • CarPlay

CarPlay 是苹果公司推出的一种车载服务应用,苹果手机连上支持carplay的车机后,车机系统界面就会出现手机上的地图和音乐等应用,手机上只要适配了carplay功能的应用,都可以在车机屏幕上直接使用。

CarPlay的市场占有率一度超过50%,但是随着智能座舱系统的崛起,虽然现在依然是应用范围最广的车辆互联方案,但是它的市场占有率正在逐年下降,目前已经不足30%。

  • Android Auto

Android Auto 与 Carplay类似,是google公司推出的车辆互联方案,通过把手机应用界面投射到车载系统上,来取代汽车制造商的原生车载系统来执行Android应用与服务。

由于Android Auto依赖Google服务,所以在国内几乎无法使用,目前国内销售的汽车很少会支持Android Auto。

Android Auto 和 Android Automotive 两者的命名方式虽然可能有点让人迷惑,通俗讲,Android Automotive 是一个完整的车载操作系统,而Android Auto是运行在Android系统上的一个服务于车辆的超级APP。

  • CarLife

CarLife 是百度在2015年推出的车联网解决方案。和CarPlay和Android Auto产品相比,CarLife的用户不用在意自己的智能手机是什么操作系统,只需要通过数据线或者wifi将手机连接到车载系统上,就可以使用。

除了以上三种方案,车辆互联方案还有华为的HiCar以及小米的CarWith等等。


结尾

以上就是本次视频的全部内容,由于是第一次做视频内容,文字经验上还是比较欠缺的,录音效果也不是很好,随着经验的逐渐积累希望以后能越做越好吧。

好,感谢各位的观看,有任何意见欢迎在评论区告诉我,或者发邮件给告诉我,拜拜!

做视频真得好费力,要比写文章多花10倍的时间,UP主们真乃神人!!

目录
相关文章
|
7天前
|
安全 Shell Android开发
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
22 0
|
7天前
|
安全 Android开发
Android13 Root实现和原理分析
Android13 Root实现和原理分析
34 0
|
7天前
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
16 0
|
2月前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
27 1
|
7天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
21 0
|
7天前
|
存储 安全 文件存储
Android OTA升级后输入法异常和应用丢失的分析
Android OTA升级后输入法异常和应用丢失的分析
16 1
|
7天前
|
存储 Java Shell
Android系统 实现低内存白名单防LMK原理分析
Android系统 实现低内存白名单防LMK原理分析
18 0
|
7天前
|
存储 Java Linux
Android系统获取event事件回调等几种实现和原理分析
Android系统获取event事件回调等几种实现和原理分析
29 0
|
25天前
|
安全 API Android开发
Android应用开发中实现动态权限请求的实践指南
【4月更文挑战第5天】 在现代安卓应用开发中,用户隐私和安全日益受到重视。自Android 6.0(API级别23)起,系统引入了动态权限模型,要求应用在运行时而非安装时请求特定权限。这一变化迫使开发者调整权限请求策略,以增强用户信任并确保应用的正常运行。本文将深入探讨如何在Android应用中有效实施动态权限请求,提供一套详细的实践流程,并通过代码示例阐释关键步骤。我们将讨论如何判断权限的必要性、向用户发起请求的最佳时机以及如何处理用户的授权结果。
|
2月前
|
安全 搜索推荐 物联网
未来操作系统发展趋势分析与展望
随着科技的不断进步,操作系统作为计算机系统的核心组成部分也在不断演进。本文将从智能化、安全性、跨平台性等方面探讨未来操作系统的发展趋势,并展望其在技术领域的应用前景。
84 4

热门文章

最新文章

推荐镜像

更多