當前位置:編程學習大全網 - 源碼下載 - Android源代碼第壹

Android源代碼第壹

我開發Android sdk已經三年了,感覺厭倦了就走不下去了,所以花了壹年多的時間,大概摸了門。根據前輩的經驗,完全入門Android底層需要兩年時間。

先說壹下我的入職流程:

第零步,下載源代碼。我下載的是4.2,框架層源代碼是10G,內核是2G。ctags為框架層搭建的標簽文件都是600M,當時讓我有點震驚。我用vim+ctags+cscope看了他們,還不錯,架構也挺清晰的。

第壹步找了壹本好書《Android第壹卷的設計與實現》,裏面講了Android框架層的啟動、初始化、服務框架初始化、Binder、消息周期、PackageManagerService、ActivityManagerService。據作者透露,UI子系統第二卷會在後面出版,大家拭目以待。其實這本書看了幾十頁,發現需要第二步的知識,不然看不下去,就跳到第二步了。

第二步,學習Linux系統編程。在看《Android的設計與實現》的時候,發現框架層的原生部分都是Linux編程。為了掌握這部分知識,我花了四個月的時間學習《Linux系統編程手冊》(TLPI),這本書有1000多頁。我以前做過WIndows文件系統,所以C語言還是比較熟悉的。TLPI的練習很有趣,量也比較大。堅持下來,我收獲了很多。

第三步,我花了四個月的時間學習了壹些關於Linux內核的知識,看了壹大半LKD和PLKA。我學的越多,知道的越少。越來越覺得自己不懂,但這很正常。我得慢慢磨。估計以後還會繼續磨這壹塊。

第四步,回頭看Android源代碼。這次壹口氣完成了Android Volume I的設計和實現,終於有了壹個框架層的譜。同時也真的暈了好幾次。看了前面的Linux內核源代碼,沒覺得那麽暈。在Java層和原生層之間不停地跳躍有點傷腦筋。其中我覺得Java的基礎不是太強,所以回去補了壹個月的核心Java第八版。但是這本書沒有涉及UI子系統,所以我又看了壹遍Android內核分析。

第五步是《Android內核分析》(這本書其實講的是框架層,作者也是嵌入式的,所以寫框架層的時候文筆不是很好很啰嗦,但是還是有很多看點的。到後來他寫ROM,打開發板的時候,估計他說的是自己的線。畢竟他溜達起來的時候挺好的。畢竟這本書有點老了,很多代碼都過時了。但是,作者的很多觀點是很有參考價值的。)這本書關於UI子系統和鍵/觸消息處理系統還是很有分量的,尤其是第13章,畫了視圖,結合源代碼研究很有收獲。後來他說編譯框架和ROM相關的東西都是很有價值的資料。

第六步,為了補上電源管理模塊等其他子系統的知識,我看了《深入了解android》系列。個人覺得這個系列看起來有點不舒服,但作為補充證明還是有價值的。

第七步,Android系統源代碼的場景分析羅盛陽的源代碼分析代表作,比Android的設計與實現更細致,但缺點是涉及的模塊較少,選取的源代碼比Android的設計與實現稍老。看完書,妳需要研究作者的博客。有很多東西,壹定會讓妳滿意。

第八步,買開發板自己玩。我還沒到這壹步,因為我覺得我差不多把知識準備好了。可能還要幾個月,然後準備放6410或者覆盆子餡餅。

最後,因為11年前做過Windows,對Linux了解不多,所以要看這類書。如果我壹直在做Linux的話,我覺得很多步驟都可以省去。直接上源代碼才是正道。

我自己是做移動GIS開發的,學框架層都是因為興趣,但是招聘平臺Android框架層開發者還是蠻有競爭力的。定制的rom很多,智能電視的工作處於人才難求的狀態。畢竟有壹定的門檻。現在各種各樣的ios培訓讓人壹頭紮進開發,ios只能做sdk開發的缺點暴露無遺。壹堆新手老手菜鳥牛都擠在SDK開發,我覺得不好。另壹方面,在Android端,新手雖然沒有從ios賺錢,但是很有持續性,而且是從sdk- Framework驅動內核做的。也有很多人發現自己逐漸成為了Linux開發者/嵌入式開發者。新人,老將,菜鳥都在各自的位置上,層級很好。

  • 上一篇:現金利息保障倍數公式
  • 下一篇:出國留學所需要的翻譯材料有哪些呢?
  • copyright 2024編程學習大全網