1. 程式人生 > >Android 7 原始碼分析系列導讀

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格式的行動硬碟,天真的我以為它是區分大小寫的。