车载
文章平均质量分 93
__Yvan
我就是我独一无二
展开
-
【Android车载系列】第14章 车载渲染-分屏显示的实现
本章节通过获取Android系统的Display,使用Display+Presentation或Display+Activity实现分屏展示。最后通过MediaProjection录屏采集主屏幕数据,通过Display+Activity+OpenGL方式实现副屏同主屏的渲染。原创 2023-05-15 00:33:09 · 2471 阅读 · 2 评论 -
【Android车载系列】第13章 车载渲染-OpenGL实现屏幕渲染
本章使用OpenGL实现了摄像头数据采集和渲染在屏幕上,也大概了解了一下CPU和GPU相关的知识,目前只是实现了OpenGL渲染部分,车载智能坐舱分屏显示可通过该方案加入分屏显示来实现。项目地址。原创 2023-05-11 22:10:23 · 994 阅读 · 0 评论 -
【Android车载系列】第12章 车载渲染-SurfaceFlinger单独绘制到界面
车载的同学们知道是怎么实现的吗?等待Android设备开机再打开倒车影像App?车子挂到R档倒车如果等待这个流程实在太久,是否还有其它办法可以让车子挂R档直接展示倒车影像呢?大家思考一下。我们从Android渲染的基础上思考,Android图像渲染到屏幕上通过完成,如果我们不通过App的Surface来完成对SurfaceFlinger的调用,是否可以直接通过某些方式拿到SurfaceFlinger把图像绘制在屏幕上?原创 2023-05-06 22:10:09 · 1736 阅读 · 2 评论 -
【Android车载系列】第11章 系统服务-SystemServer自定义服务
system/sepolicy/prebuilts/api/32.0/private/ 与 system/sepolicy/private/目录下,分别修改以下三个文件#配置自定义服务selinux角色用户:角色:类型:安全级别#配置自定义服务类型的权限#允许所有app使用自定义服务一般只是用来调试自己的服务功能是否正常} } // 使用 YvanManager yvanManager =(YvanManager) getSystemService("yvan");原创 2023-05-03 15:04:05 · 961 阅读 · 0 评论 -
【Android车载系列】第10章 系统服务-SystemServer源码分析(API28)
SystemServer进程启动,startBootstrapServices() 底层启动引导服务;startCoreServices()用户层启动核心服务;startOtherServices()应用层启动其它服务。车载服务CarServiceHelperService的启动。原创 2023-04-24 22:17:05 · 1560 阅读 · 0 评论 -
【Android车载系列】第9章 车载通信-Socket实现IPC通信机制(实现仿FDBus效果)
用于车载多台Android设备间的跨设备通信,实现方案为通过Socket实现IPC通讯,通过动态代理实现类方法的调用,从而实现设备间的通信。原创 2023-04-24 10:58:59 · 3343 阅读 · 1 评论 -
【Android车载系列】第8章 车载通信-USB协议代码实现
USB协议我们从理论到代码过了一遍,相信聪明的小伙伴应该有所收获。最后做下总结吧,USB协议是一套完整的传输协议,使用其传输的两端必须按照一致的指令协议来实现通讯,实现读写操作。对于Android开发来说,能够掌握基本的USB读写操作就可以了,具体协议的详细在需要用到的时候再查找文档对应实现。日常开发和工作中的数据读写操作,大部分都需要自定义协议,可以参考U盘等这些USB设备的协议来自定义一套适合自己的协议。原创 2023-04-05 15:28:11 · 1471 阅读 · 3 评论 -
【Android车载系列】第7章 车载通信-USB通信原理
通用串行总线 (Universal Serial Bus,USB) 是一种新兴的并逐渐取代其他接口标准的数据通信方式,由 Intel、Compaq、Digital、IBM、Microsoft、NEC及Northern Telecom 等计算机公司和通信公司于1995年联合制定,并逐渐形成了行业标准。原创 2023-04-02 11:10:32 · 1729 阅读 · 2 评论 -
【Android车载系列】第6章 车载通信-串口通信原理
串口简要介绍及串口在Android实现通讯原创 2023-03-30 21:26:54 · 1780 阅读 · 1 评论 -
【Android车载系列】第4章 Activity启动到渲染到SurfaceFlinger流程
ActivityThread对于App进程来说,它是App的入口。此外ActivityThread还实现了创建主线程Looper、dump应用内存使用情况、获取应用包名等接口。我们看看ActivityThread对于四大组件的作用,一句话概括,ActivityThread管理着四大组件的生命周期方法的调用。attach()然后开始了Activity的生命周期。执行执行时页面还不可见,onResume()VSYNConResume()将DecorView添加到中。原创 2023-03-26 20:12:41 · 1077 阅读 · 0 评论 -
【Android车载系列】第3章 车载通讯CAN协议
0的位数代表数据的长度N,从第一个不为0的bit开始读N个后缀;编码+1,解码-1。例如:1.要发送的信号为3,编码前+1为4,二进制为100,1后面为两个0,最终报文前面需要添加两个0作为后补长度,所以报文数据是00100。2.解码时前面两个0为第一个不为0的bit开始补两位,解出100数据十进制为4,由于编码+1,解码需要-1,4-1=3为最终解码十进制结果。原创 2023-03-26 15:22:50 · 5752 阅读 · 0 评论 -
【Android车载系列】第2章 车载系统启动与CarService
..default:= null) {CarService实现的功能几乎就是覆盖整个车载Framework的核心。然而现实中为了保证各个核心服务的稳定性,同时降低CarService协同开发的难度,一般会选择将一些重要的服务拆分单独作为一个独立的Service运行在独立的进程中,导致有的车机系统中CarService只实现了CarPropertyService的功能。CarService实现流程可以这样理解:提供。原创 2023-03-24 10:09:56 · 3737 阅读 · 0 评论 -
【Android车载系列】第1章 车载系统整体介绍
汽车操作系统是从传统汽车电子不断演变而来的,传统汽车电子产品可分为两类:一类是汽车电子控制装置,通过直接向执行机构(如电子阀门、继电器开关、执行马达)发送指令,以控制车辆关键部件(如发动机、变速箱、动力电池)协同工作,这类系统一般统称为电子控制单元 (ECU另一类是车载电子设备,如仪表、娱乐音响、导航系统、HUD等,这类系统不直接参与汽车行驶的控制决策,不会对车辆行驶性能和安全产生影响,通常统称为车载信息娱乐系统(IVI这也是Android程序员主要负责的领域。原创 2023-03-17 20:43:32 · 10501 阅读 · 3 评论