Android车载开发总结

  很久不更新了,今天早上看到去年5月底离开华阳,写的一篇总结报告,颇有感触,一块儿分享;也但愿前公司你可以愈来愈好,可以成为世界性公司。编程

 

2014年5月29日 10:40网络

Authorforrestjr   forrestjr@126.com异步

关于行业的思考:svn

   Android系统免费、免费应用资源多、应用UI/Lunch、操控等人机交交互开发 易定制,所以Android车载在有很大的发挥空间,不怕作不了,只怕你想不到(Android应用产业链养活了数量巨大的移动互联网公司就是一个证实)。性能

   不少时候会有这样一种现象:一提到Android车载机,就会有人说车机没网络,有网络下载要流量;实际上车机wifi连手机热点使用手机流量是很方便的,其次能够经过sdcard卡离线下载安装(可进行网络论坛宣传引导),也能够直接标配3G与移动公司、第三方应用公司合做推广套餐服务(这种模式在手机行业很是流行和成熟、同时也是一个较好的宣传手段);能够说Android车机其实是一台嵌入在汽车上的手机+传统车载,虽然不尽相同,但手机的营销方法及设计方案都是值得思考和借鉴。测试

 

关于开发前选择的思考:优化

   A、硬件:网站

   1)芯片选择(优先级依次下降):spa

      a、芯片规格须要达到车规或工规;设计

      b、芯片音视频接口要丰富;视频方面至少须要支持5路输入(2*cvbs+2*yuv/vga+hdmi)以及4路输出        (1*cvbs+2*lcd+hdmi);音频方面至少须要支持5路输入(2*MicIn+2*LineIN+Pcm/I2S)以及三路输出(2*LineOut+Pcm/I2S);其中,音频方面比较容易知足,而视频输入输出方面须要仔细的分析(例如几路输入是否能够同时存在而不是复用、能够同时在屏幕输出几路、视屏输出是否能够分屏显示以及是否能够重绘UI等);此部分为Android车载芯片与普通手机芯片最大的需求差别;固然还有usb、sdcard接口是否丰富,此需求通常的车载芯片都有丰富的接口;

      c、芯片的运行功耗、以及待机功耗,以及方案的电源管理能力(电源管理的稳定性);当真正意义的镜像快速开机难以实现的状况,休眠唤醒不失为快速开机不错的替代方法;

      d、方案支持的Android以及Kernel版本,Android至少要4.2.2以上,kernel至少要3.0以上;固然若是须要考虑的前瞻性那么Android能够选择Android4.4Google网站上介绍:Android 4.4优化了内存占用及触摸屏处理方式,响应速度和准确性超越以往全部版本,系统性能再上巅峰

      c、原厂的支持与技术能力;

      e、相比较手机对性能的要求车载行业对性能应该不高,双核/四核+1G 32Bit DDR便可知足需求,假设定位高端,提升配置也是比较简单的事情;

    2)电路设计,尽量的简化电路,尽量的利用Android 芯片方案中的核心电路(原厂的出货量巨大,尤为是核心电路已经通过了多放的验证,不太必要在这里别出心裁);尽量的下降mcu、mpu在软件设计方面的复杂度,这是基于越简单的东西越不容易出错;

 

   B、软件:

   1)Android版本的完整性和兼容性

     a、基本外设的支持在开始选择方案是就须要去考虑wifi、3G、BT是够有内置或外置可配,以及每一个功能的子功能是否支持完善(例如wifi热点、wifi直连等功能),其中蓝牙将会是问题集中爆发的一个功能模块;

     b、车载机的蓝牙模块相比较于手机至少须要增长HFP、HID、A2DP、PBAP协议的支持,若是使用Android自带的软协议栈,在开始选择初期就须要作详细的分析以及充分的准备,若是作得很差,这部分就会成为短板;固然选择带协议栈的模块风险相对就会下降,但依然前期须要仔细的评估,不然在开发过程会发现依然是个短板;

     c、sdcard、usb的兼容性分析是前期就须要评估的(若是兼容性不过关可能还须要电子的介入);

     d、多媒体的兼容性,以及多媒体的显示效果也很是的重要;

     e、mpu端混音输出和单声音输出,结合mcu声音通道,是否可以知足要求,也是项目前期评估重要的一环;

     f、方案Android CTS认证可以达到多少百分百,这关系的Android系统对三方软件的兼容性;

   2)扩展功能的支持:mirrorcast接收端支持、双屏显示、双屏异显、后台视频异步输出、后台UI绘制等可用于车载的功能,在开发以前一样须要调研和评估;

 

关于开发过程的思考:

   开发过程就是将开发以前评估和设计好的模块功能实现与细化的过程;

   这部分靠的是每一个人的认真对待、有效沟通,每实现一个功能需反复的验证和测试(软件和硬件),而且在开发过程当中作好开发记录:

     a、代码注释、编程规范;

     b、细化功能的反复验证,以及验证报告;

     c、svn代码提交记录,以及项目负责人的审核;

     d、开发记录、问题解决记录、沟通纪要;

   在开发过程当中靠的是开发人员的认真、细心、沟通及耐心,加之相对合理的开发时间和激励措施;

   此开发过程重在执行;

 

关于开发后期与测试的思考:

   开发后期,我的认为每一个开发人员起码须要投入一半时间在测试和反复验证与本身开发相关的功能模块上;咱们作的是产品,而不单是实现功能;

   同时测试人员在此阶段也须要进行高强的的整机测试和自动化测试;

   此阶段的任务是查出潜在问题、完善稳定功能、优化性能;

   此阶段会让人以为很枯燥、或是烦躁,但他确实产品化关键的环节;

   我的认为此阶段没有捷径,只能靠辛勤、汗水和时间来保证产品的质量;

   若是开发过程控制好,每一个功能都进行过反复的验证,开发都有详细的记录,那么开发后期和测试阶段相对就会轻松些;

   此开发过程重在勤劳;

 

关于开发分析与设计的思考:

   开发分析包括开发前期的方案选择和评估;

   开发前期的方案选择和评估也应该属于开发的过程,尤为在嵌入式行业(很难有一个项目负责人能懂得从上至下的全部技术),应有开发技术人员的全程参与;

   开发分析不能在开发中期或是后期再来补,没有多少的效果和意义;

   开发分析应该包含产品化的部分,最好能经过产品经理持续改进和跟踪;

   在开发分析完善的状况下,好的设计才是一个产品的竞争力和附加值;

   好的设计应当是在有稳定平台的基础上,可以设计出 具备创新、改善用户需求的功能、设计出精致、温馨的人机交互界面;

   产品的稳定、流畅、兼容是基础,而设计上的新颖、贴切、温馨才是产品的生命力;

相关文章
相关标签/搜索