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