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、開發記錄、問題解決記錄、溝通紀要;

   在開發過程當中靠的是開發人員的認真、細心、溝通及耐心,加之相對合理的開發時間和激勵措施;

   此開發過程重在執行;

 

關於開發後期與測試的思考:

   開發後期,我的認爲每一個開發人員起碼須要投入一半時間在測試和反覆驗證與本身開發相關的功能模塊上;咱們作的是產品,而不單是實現功能;

   同時測試人員在此階段也須要進行高強的的整機測試和自動化測試;

   此階段的任務是查出潛在問題、完善穩定功能、優化性能;

   此階段會讓人以爲很枯燥、或是煩躁,但他確實產品化關鍵的環節;

   我的認爲此階段沒有捷徑,只能靠辛勤、汗水和時間來保證產品的質量;

   若是開發過程控制好,每一個功能都進行過反覆的驗證,開發都有詳細的記錄,那麼開發後期和測試階段相對就會輕鬆些;

   此開發過程重在勤勞;

 

關於開發分析與設計的思考:

   開發分析包括開發前期的方案選擇和評估;

   開發前期的方案選擇和評估也應該屬於開發的過程,尤爲在嵌入式行業(很難有一個項目負責人能懂得從上至下的全部技術),應有開發技術人員的全程參與;

   開發分析不能在開發中期或是後期再來補,沒有多少的效果和意義;

   開發分析應該包含產品化的部分,最好能經過產品經理持續改進和跟蹤;

   在開發分析完善的狀況下,好的設計纔是一個產品的競爭力和附加值;

   好的設計應當是在有穩定平臺的基礎上,可以設計出 具備創新、改善用戶需求的功能、設計出精緻、溫馨的人機交互界面;

   產品的穩定、流暢、兼容是基礎,而設計上的新穎、貼切、溫馨纔是產品的生命力;

相關文章
相關標籤/搜索