
課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認真做教育 專心促就業(yè)
受朋友之托,由于他是業(yè)余進行學習,需要我?guī)退扑]幾本書及學習方法,我在這里簡要的談談我學習android之路吧。我以前是做嵌入式系統(tǒng)開發(fā)的,對于平臺比較熟,所以我的學習方向是從下往上進行學習,有相同工作經歷者可以效仿一下吧:
android系統(tǒng)學習,個人認為其實就是三大塊,分為移植-框架-應用
1、android系統(tǒng)移植
其實這一塊工作主要集成在android linux kernel 的驅動代碼編寫及android系統(tǒng)啟動調試過程 。
對于android-HAL移植代碼編寫,其實android系統(tǒng)需要移植的模塊較少(最精簡的系統(tǒng)啟動),只需要實現libgralloc模塊,這塊就是顯示及顯存分配的代碼以及HDMI的啟動高清輸出。
需要熟練掌握的知識是linux驅動及android系統(tǒng)的啟動過程會干哪些事情。以前寫過相關的linux kernel及android 完整的啟動流程。
只要熟悉清楚這些原理,就是解決啟動過程中的問題,基本上移植android系統(tǒng)不會有太大的問題,只要啟動了原始的android系統(tǒng)后面就是完善及優(yōu)化系統(tǒng)了。
深入研究過三個平臺代碼(海思,ST及博通)的android代碼與原始android系統(tǒng)代碼,基本上都是這么做的。
這里推薦 <> --- 移植與調試 ,可以對android的外圍設備及相關移植內部有一定的了解,碰到問題多問問google,可能其它朋友也碰到過,當然也可以找你一起討論解決。
2、框架層代碼學習
這塊代碼需要熟悉幾個android的幾個重要概念: Binder (IPC通訊), Service 服務 ,Zygote 等等
緊接著就是研究大的模塊代碼,如SurfaceFlinger , AudioFilnger , Media(這塊還一直沒有時間看,很遺憾) 等,下一個計劃就是研究media媒體播放這塊,以前做過本地播放應該會減小很多的學習時間,知識的本質是相通的。
瀏覽器及虛擬機這塊也是個大頭,目前開發(fā)沒怎么用到,所以也沒有去怎么接觸和了解,說不上好的建議
3、JAVA應用程序
這一塊代碼的編寫,最好的教材就是 android SDK ,這些api有詳細的介紹及用法,與msdn媲美。JAVA代碼相對C/C++更簡單,使用比較容易,語言是相通的,關鍵在于想清楚這個事情就是本質。
關于android系統(tǒng)學習就給大家介紹到這里,如需更多信息和幫助可隨時咨詢達內官網。
【免責聲明】本文部分系轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與聯(lián)系我們,我們會予以更改或刪除相關文章,以保證您的權益!