1. 程式人生 > >Mac 中下載閱讀 Android 原始碼

Mac 中下載閱讀 Android 原始碼

準備工作:建立區分大小寫的 APFS 宗卷

國內使用 Android Source 官方的下載方式有點慢,所以通常建議使用國內的 AOSP 映象,一般是 中科大的映象 或者 清華大學的映象 ,本文使用的是清華大學的映象。

先下載 repo 工具:

PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

然後有兩種下載方式,分別適合不同場景。

1.1 下載最新版本的原始碼

如果需要下載最新版本的原始碼,建議使用映象中的每月初始化包。先下載初始化包,其中包含了 .repo

 目錄,然後解壓再 repo sync 一次就完成了。

推薦使用 axel 工具下載,速度快,支援斷點續傳。

axel -n 3 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar

# 解壓得到 aosp 目錄
tar xvf aosp-latest.tar

cd aosp

# 同步一次
repo sync
# 或 repo sync -l 僅 checkout .repo 中的程式碼

1.2 下載具體某版本的原始碼

如果需要下載具體某版本的原始碼,使用官方的方式,不過下載源替換成清華大學映象的地址。具體 Android 版本見 

列表

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

# 初始化倉庫
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1 --depth=1

# 只同步當前分支程式碼
repo sync -c

這種方式下載下來的程式碼會小很多,推薦這種方式。

2. 匯入 Android 原始碼到 Android Studio 中閱讀

Mac 下無法使用 Source Insight,所以我是使用 Android Studio 來閱讀的,Android 原始碼中已經提供了匯入到 Eclipse 和 Android Studio 的配置,需要使用 development/tools/idegen.sh

工具。

因為我只想閱讀 Android 原始碼,不需要編譯,所以使用其他人編譯好的 idegen.jar 。

mv idegen.jar aosp/out/host/darwin-x86/framework/

# 在預設終端中執行 idegen.sh,因為 sh 只支援 bash
development/tools/idegen/idegen.sh

然後在 aosp 目錄可以看到 android.ipr 和 android.iml 檔案,接下來編輯 android.iml 檔案,把不需要匯入的專案註釋掉,節省匯入時間。

最後在 Android Studio 中開啟 android.ipr 即可。

歡迎加入Android進階交流群;701740775。進群可免費領取一份最新技術大綱和Android進階資料。請備註csdn