Download Android Source Code
本篇文章要介紹如何下載Google官方提供的Android原始碼。
首先要先將環境準備好,詳細內容可以參考官方的文獻:
Establishing a Build Environment
泰勞本身的環境如下:
Ubuntu 14.04 LTS
OpenJDK 7
git 1.9.1
curl 7.35.0
Ubuntu 14.04 需要另外安裝一些套件:
以上需求都建置好就可以進行下一個步驟囉!
參考文獻:
Downloading the Source
安裝Repo
1.在家目錄底下建立一個bin目錄,並將它加入環境變數。

下載完成就可以開始研究囉!如果有需要也可以透過以下方法將原始碼匯入至Android Studio,在觀看以及追蹤程式碼時「可能」會方便一些。
參考網址:
Can we use Android studio for AOSP development ?
自己動手調試Android原始碼
方法很簡單,只要在原始碼根目錄執行以下指令即可。
>然後打開Android Studio
>選擇Open an existing Android Studio project
>選擇根目錄底下的android.ipr

當然,也可以選擇只導入部份原始碼,只要在android.iml裡面將不想導入的部份標明清楚。
例如:只需要導入framework和packages,標示方法如下所示。
首先要先將環境準備好,詳細內容可以參考官方的文獻:
Establishing a Build Environment
泰勞本身的環境如下:
Ubuntu 14.04 LTS
OpenJDK 7
git 1.9.1
curl 7.35.0
Ubuntu 14.04 需要另外安裝一些套件:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip
以上需求都建置好就可以進行下一個步驟囉!
參考文獻:
Downloading the Source
安裝Repo
1.在家目錄底下建立一個bin目錄,並將它加入環境變數。
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ PATH=~/bin:$PATH
2.下載Repo至bin目錄底下,並修改它的執行權限。
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ chmod a+x ~/bin/repo
初始化Repo
1.建立一個空目錄(待會下載的原始碼將會放在此目錄底下)
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
#泰勞習慣將目錄名稱設定為欲下載的版本名稱
例如:android-7.0.0_r6,就下mkdir android-7.0.0_r6
2.設定git
$ git config --global user.name stevenash
$ git config --global user.email ilovestevenash@gmail.com
$ git config --global user.email ilovestevenash@gmail.com
3.初始化repo
$ repo init -u https://android.googlesource.com/platform/manifest
#如果你想要指定非master的版本,請加上 -b 和版本標籤
$ repo init -u https://android.googlesource.com/platform/manifest -b android-x.x.x_xx
下載原始碼
$ repo sync
Android原始碼將會載入至你的WORKING_DIRECTORY目錄底下。另外,sync這個作業將會花費不少時間喔!

下載完成就可以開始研究囉!如果有需要也可以透過以下方法將原始碼匯入至Android Studio,在觀看以及追蹤程式碼時「可能」會方便一些。
參考網址:
Can we use Android studio for AOSP development ?
自己動手調試Android原始碼
方法很簡單,只要在原始碼根目錄執行以下指令即可。
$ make idegen && development/tools/idegen/idegen.sh
>然後打開Android Studio
>選擇Open an existing Android Studio project
>選擇根目錄底下的android.ipr

當然,也可以選擇只導入部份原始碼,只要在android.iml裡面將不想導入的部份標明清楚。
<excludeFloder url="file://$MODULE_DIR$"/xxxxx>
例如:只需要導入framework和packages,標示方法如下所示。
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
<excludeFolder url="file://$MODULE_DIR$/bionic" />
<excludeFolder url="file://$MODULE_DIR$/bootable" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/cts" />
<excludeFolder url="file://$MODULE_DIR$/dalvik" />
<excludeFolder url="file://$MODULE_DIR$/developers" />
<excludeFolder url="file://$MODULE_DIR$/development" />
<excludeFolder url="file://$MODULE_DIR$/device" />
<excludeFolder url="file://$MODULE_DIR$/docs" />
<excludeFolder url="file://$MODULE_DIR$/external" />
<excludeFolder url="file://$MODULE_DIR$/hardware" />
<excludeFolder url="file://$MODULE_DIR$/libcore" />
<excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
<excludeFolder url="file://$MODULE_DIR$/ndk" />
<excludeFolder url="file://$MODULE_DIR$/out" />
<excludeFolder url="file://$MODULE_DIR$/pdk" />
<excludeFolder url="file://$MODULE_DIR$/prebuilt" />
<excludeFolder url="file://$MODULE_DIR$/prebuilts" />
<excludeFolder url="file://$MODULE_DIR$/sdk" />
<excludeFolder url="file://$MODULE_DIR$/system" />
<excludeFolder url="file://$MODULE_DIR$/tools" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
<excludeFolder url="file://$MODULE_DIR$/bionic" />
<excludeFolder url="file://$MODULE_DIR$/bootable" />
<excludeFolder url="file://$MODULE_DIR$/build" />
<excludeFolder url="file://$MODULE_DIR$/cts" />
<excludeFolder url="file://$MODULE_DIR$/dalvik" />
<excludeFolder url="file://$MODULE_DIR$/developers" />
<excludeFolder url="file://$MODULE_DIR$/development" />
<excludeFolder url="file://$MODULE_DIR$/device" />
<excludeFolder url="file://$MODULE_DIR$/docs" />
<excludeFolder url="file://$MODULE_DIR$/external" />
<excludeFolder url="file://$MODULE_DIR$/hardware" />
<excludeFolder url="file://$MODULE_DIR$/libcore" />
<excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
<excludeFolder url="file://$MODULE_DIR$/ndk" />
<excludeFolder url="file://$MODULE_DIR$/out" />
<excludeFolder url="file://$MODULE_DIR$/pdk" />
<excludeFolder url="file://$MODULE_DIR$/prebuilt" />
<excludeFolder url="file://$MODULE_DIR$/prebuilts" />
<excludeFolder url="file://$MODULE_DIR$/sdk" />
<excludeFolder url="file://$MODULE_DIR$/system" />
<excludeFolder url="file://$MODULE_DIR$/tools" />
泰勞本人其實不太建議將原始碼導入Android Studio,因為真的很佔資源,不過可以獲得比較舒適的視覺饗宴?
留言
張貼留言