Android 7 原始碼分析系列導讀
關於作者
郭孝星,程式設計師,吉他手,主要從事Android平臺基礎架構方面的工作,歡迎交流技術方面的問題,可以去我的Github提issue或者發郵件至[email protected]與我交流。
文章目錄
- 一 基礎篇
- 二 工具篇
- 三 書籍篇
- 二 原始碼篇
本篇文章是本系列文章的導讀文章,強烈建議第一次閱讀本系列本章的同學先看一下導讀的內容,它會告訴你文章中都用到了哪些工具,以及牽扯到哪些理論知識這些內
容會幫助你更快更好地去理解文章內容。
一 基礎篇
在閱讀 AOSP(Android Open Source Projec)之前你需要掌握的以下理論知識。
- Java:AOSP的主要語言,當然是應該掌握的。
- Linux:Android是基於Linux核心開發的,如何你需要涉及到核心或者驅動的開發,你需要掌握Linux相關技術。
- Make:AOSP是用Make來編譯的,因此要了解常用的Make語法。
- Git:程式設計師必備技能。
- C++:AOSP一些效能敏感的模組底層都是由C++完成的,當然如果你如果不需要關注底層實現,也可以跳過這一段,可以更多的去關注框架層。
- 設計模式:AOSP裡大量的框架都是用了謀者設計模式,比方說觀察者模式、工廠模式、複合模式等,如果對設計模式不夠了解的會看的雲裡霧裡。
- 熟練的Android App開發技能
二 工具篇
本系列的文章基於的環境是MacOS,但是所使用的工具軟體多數都是跨平臺的,所以對其他平臺的小夥伴也沒有影響。
程式碼閱讀
如果在Windows下直接上SourceInsight 就可以了,Mac下可以用Understand,功能和SourceInsight一樣強大。
簡報
簡報是用Keynote來做的。
文章寫作
文章都是用Markdown來寫的,工具用的是MWeb,一款很強大的Markdown編輯工具。
圖例繪製
流程圖、類圖、時序圖、系統架構圖等各種圖例採用EdrawMax來繪製,Visio也比較好用,可惜Mac下沒有。
圖片處理
Gif圖的製作用的是VideoGIF。
圖片閱覽
本系列的文字會涉及各種時序圖、UML圖、系統結構圖等,這些圖片有時候會很大,為了讀者能更加清晰的閱覽,筆者不僅提供了png格式的圖片,還
提供了壓縮更好的svg(可縮放向量圖形)格式,該種格式用xml語言來描述圖片資訊,在mac下可用Gapplin開啟。
三 書籍篇
站在前輩的肩膀上,我們能看的更遠,進步的更快。以下是學習框架與原始碼一些不錯的書籍。
本系列文章也提供了一些經典的書籍資源
好了,以上就是全部的基礎、工具與書籍,如果你還沒有下載Android原始碼,現在我們就去下載吧。
四 原始碼篇
4.1 原始碼下載
原始碼版本
電腦環境
1 建立區分大小寫磁碟
開啟磁碟工具
建立空白映像
設定區分大小寫
注意!注意!建立區分大小寫磁碟很重要,如果你不想下了一天的原始碼,結果編譯的時候報這個錯誤。
不要問我為什麼有這個報錯的圖片,都是淚,我在Windows下劃分的ExFat格式的行動硬碟,天真的我以為它是區分大小寫的。