一.Android版本與Linux核心的關係
英文名 |
中文名 |
Android版本 |
Linux核心版本 |
No |
無 |
1.1 |
Cupcake |
紙杯蛋糕 |
1.5 |
2.6.27 |
Donut |
甜甜圈 |
1.6 |
2.6.29 |
Eclair |
鬆餅 |
2.0 |
2.6.29 |
Eclair |
鬆餅 |
2.1 |
2.6.29 |
Froyo |
凍優酪乳 |
2.2 |
2.6.32 |
Gingerbread |
薑餅 |
2.3 |
2.6.35 |
Honeycomb |
蜂巢 |
3.0 |
2.6.36.3 |
二.下載源碼分為2大部分
1.Android源碼;
2.Android核心(Android Linux Kernel);
三.如何下載Android核心
git clone git://android.git.kernel.org/kernel/common.git
四.如何查看Android核心的版本(代碼級查看)
在核心代碼目錄:
運行命令:git branch –a
運行執行個體
[root@localhost common]# git branch -a (查看版本)
* android-2.6.36
remotes/origin/HEAD -> origin/android-2.6.36
remotes/origin/android-2.6.35
remotes/origin/android-2.6.36
remotes/origin/archive/android-2.6.25
remotes/origin/archive/android-2.6.27
remotes/origin/archive/android-2.6.29
remotes/origin/archive/android-2.6.32
remotes/origin/archive/android-gldfish-2.6.29
remotes/origin/archive/android-goldfish-2.6.27
五.如何獲得指定版本的Linux核心
要想下載2.6.29核心,只要最後執行一下(進入下載後的目錄):
git checkout remotes/origin/archive/android-2.6.29 (即上面列出的版本分支)
此時下載到的是2.6.29版本核心了
六.如何獲得Android某個版本的源碼
例如獲得Android1.5的源碼
repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake
repo sync
Android 1.5:Cupcake(杯子蛋糕)
Android 1.6:Donut(甜甜圈)
Android 2.0 / 2.1:Eclair(閃電泡芙)
Android 2.2:Froyo(冷凍憂格)
Android 3.0:Gingerbread(薑餅)
Android 3.5:Honeycomb(蜂巢)
Android 4.0:Ice Cream(冰淇淋)
本質上:
想取某個branch而不是主線上的代碼,我們需要用-b參數制定branch名字
七.如何擷取Android當前主幹上最新版本的所有的sourcecode
repo init -u git://android.git.kernel.org/platform/manifest.git
八.如何擷取需要某一個project的代碼
比如kernel/common,就不需要repo了,直接用Git即可
git clone git://android.git.kernel.org/kernel/common.git
九.列出本地所有分支
git branch
十.如何擷取某個branch的代碼
如果需要某個branch的代碼,用git checkout即可。
比如我們剛剛擷取了kernel/common的代碼,那就先進入到common目錄,然後用下面的命令:
git checkout origin/android-goldfish-2.6.27 -b goldfish
這樣我們就在本地建立了一個名為goldfish的android-goldfish-2.6.27分支,代碼則已經與android-goldgish-2.6.27同步。