前言
近几年的Android开发岗位就业环境想必大家也都有所耳闻,许多Android开发工程师都找不到自己满意的工作,于是纷纷另谋出路…
刚好这几年随着Android车载开发的兴起,令人眼睛一亮的是车载开发工程师的工资普遍偏高,这高昂的工资确实令许多安卓开发者们不得不心动。
所以我转了,并且成功了。
今天是我成功转行的第三个月,我发现车载开发的技术难度比我想象的要高很多。
首先,车载开发与移动开发主要关注UI设计和用户体验不同,车载开发需要掌握更多的硬件知识和嵌入式系统知识。例如,我需要学习如何与车辆的ECU(电子控制单元)进行通信,如何处理车辆的传感器数据,以及如何优化车载系统的性能。这些对我来说都是全新的领域,需要花费大量的时间和精力去学习和掌握。
其次,我发现我需要对多种语言和框架进行学习。在移动开发中,我主要使用Java和Kotlin进行开发。但在车载开发中,我需要学习C++和Python等语言,并熟悉AUTOSAR和ROS等开发框架。这对我来说是一项巨大的挑战,需要不断地学习和实践。
Android程序员转行车载开发后,可能会面临以下难点:
1、不熟悉汽车电子领域:车载开发需要了解汽车电子相关知识,包括CAN总线、OBD诊断等。这对于之前从事Android开发的程序员来说可能是一个全新的领域,需要花费一定的时间和精力去学习。
2、资源受限:与智能手机相比,车载系统的硬件配置和资源较为有限,例如CPU、内存、存储空间等。因此,在开发车载应用时需要更加注重性能优化和资源管理,以确保应用在车载环境下运行流畅稳定。
3、安全性要求高:车载系统作为一种交通工具的核心控制系统,其安全性要求非常高。在开发车载应用时需要考虑到安全问题,如防止恶意攻击、避免干扰车辆其他功能等。
4、界面设计和交互方式不同:车载系统的界面设计和交互方式与智能手机有所不同。车载屏幕一般较大,操作方式也有所区别,需要更加注重用户体验和可用性设计。
5、产品周期长:与智能手机相比,车载系统的产品周期较长,一般需要数年时间。因此,在车载开发中需要更加注重产品规划和设计,以确保产品能够长期维护和更新。
总之,转行车载开发后需要适应新的环境和技术要求,需要不断学习和实践,才能够成为一名优秀的车载开发工程师。
解决方案
1、编写一些简单的车载应用来深入了解系统的内部工作原理。这样,不仅能提高技术水平,而且对车载系统的理解也更加深刻
2、积极参加各种技术讨论会议,与更多的同行交流
3、可以阅读技术文档和博客文章,参加一些车载开发相关的培训课程
除了这些,为了解决以上问题,我拜托在比亚迪的朋友给了我一份他们内部的学习路线以及学习资料,我估摸着在车载这条路上应该不止我一个人会遇到以上问题,所以把这份资料分享出来,能帮一个人是一个人,主打的就是一个真诚!
1、系统的Android车载开发学习脑图
一个结构清晰且完整的车载应用系统学习脑图能够帮助大家在学习车载的思路清晰,帮助自己学习的每一步都有个清晰的计划。
起码你得知道每个阶段要完成的目标是什么,什么时候掌握什么知识点,有哪些是暂时不需要的,特别是在没有完整的学习时间的情况下,在碎片化的学习时间里,有一个完整的学习目标才能保障自己的学习效率
2、《Android车载操作系统开发揭秘》
全书分七部分 :
【车载架构篇】【内核篇】【系统调试篇】【LMKD】【Android车载实战篇】【架构通信篇】
前半部分介绍国内主流车载操作系统的基本架构;
后半部分将理论付诸实践,讲解Android车载图像显示系统,构建Android Auto 即时通信应用,实际开发SOA 架构通信。并帮读者解决常见编程问题和困惑。本书适合对车载行业感兴趣的任何层次的读者阅读。
部分内容展示
车载架构篇
E/E 架构又称 EEA,即(Electrical/Electronic Architecture 汽车电子电器架构),是指整 车电子电气架构方案,该方案整合了汽车里的各类硬件传感器、控制器、线束、电子电气分 配系统,以及其他软硬件,以实现整车功能,包括算力、动力的分配,以及能量管理等。
本篇知识要点:
- 一、汽车软硬架构 - EEA/SOA
- 二、汽车操作系统
- 三、智能座舱
- 四、未来,也许智能家、智能车、智能手机、智能穿戴、科技一体化
- 五、从智能汽车畅想未来全生态
基础篇
Android Automotive 是一个基本 Android 平台,可运行 IVI 系统中预安装的 Android 应用以及可选的第二方和第三方 Android 应用。
Android Automotive 可为车载信息娱乐系统和音响主机提供开放性、自定义和规模化特性。开放性在免费的开源代码库中提供基本的车载信息娱乐功能,可进一步提升效率。借助自定义特性,实现人员能够在适当的情况下实现商品的差异化。规模化特性是通过 Android的通用框架、语言和 API 来实现的,所有这些都使得全球数十万 Android 开发者的开发 专长和成品软件得以重复使用。
本篇知识要点:
- 1.Android Automotive OS 安卓车载操作系统白皮书
- 2.1Andorid Automotive 源码osp_coral_car 项目构建流程
- 2.2 Andorid Automotive 镜像刷写流程
- 2.3 Andorid Automotive 源码aosp_coral_car 项目构建及刷写错误集锦
- 2.4 Android Automotive OS 构建失败Debug 集锦(持续更新)
- 3.[Android Automotive]Android 工具和基础架构
- 4.[Android Automotive]车载音频
- 5.[Android Automotive]音频多区
- …
以上资料均已整理打包成PDF文档,有需要的朋友扫描下方二维码即可领取
同时这里还搭建了一个基于chatGPT的微信群聊机器人,24小时为大家解答疑难技术问题。
微信扫码拉你进群体验ChatGPT风采
最后
写这篇文章不是为了要劝退大家,只是把我遇到的一些问题写出来给大家参考做一下预防,让大家想要转行车载开发的时候有一些小小的思考,就是能不能接受几乎是从头学习的挑战,以及有没有面对一个全新领域所遇到问题的勇气。
对于已经走上转行道路的同学,不要再去在意网上的各种言论,请坚定地走下去。考虑那些负面的消息和情绪对你当下的情况已没有任何帮助。这个时候我们只有去想每个问题该如何解决,自己还欠缺什么。如果说环境不好,就业岗位少,就去琢磨那些找到工作的人有什么优势,自己如何弥补,而不是抱怨大环境。接受现实,努力适应,是能改善现状的唯一办法。