Android原始碼包含兩個部分:Android開源專案(Android Open Source Project,AOSP)原始碼與Android內核原始碼。
下載前、首先確認以下事項:
- git
- curl
- python
- POSIX相容系統
前三項都是下載所需的組件,不必多說;說說最後一項:一開始打算在Windows下使用MinGW32進行下載的,但是遇到這樣的錯誤:
ImportError: No module named fcntl
於是、果斷投奔Mac OS X的懷抱。但也有人改換Cygwin,感興趣的可以一試。
鑑於龐大的程式碼規模、請務必使用高速且穩定的網路:Android開源專案原始碼藉由專用工具repo、可以實現斷點續傳;而Android內核原始碼、一旦中斷就得重新開始。
Android開源專案原始碼的下載教程請參考這裡,Android內核原始碼的下載教程請參考這裡。以下簡單的做下筆記:
Android開源專案原始碼下載
下載安裝repo:
注:由於沒有將~/bin
加入PATH
,故以下採用完整路徑來呼叫repo。
初啟化repo客戶端:
下載Android原始碼樹:
程式碼規模:
檢視內容:
建議在做研究之前、先做備份:
羅列下屬專案:
檢視Git分支:
這樣、依次執行以下指令、便可以切換特定版本的Android原始碼:
關於repo指令的使用說明,請參考Repo command reference,或者Efalk資料檔之Repo,這裡就不多加著墨了。
Android內核原始碼下載
Android內核原始碼下載則比較簡單,直接從遠端存儲庫複製即可:
注:
- common專案、其原始碼通用
- goldfish專案、其原始碼用於模擬器
- 其他類別專案、其原始碼用於不同廠商/設備
這裡下載的是common專案下的原始碼:
程式碼規模:
檢視Git分支: