- 安裝win版的Gitbash, 在這裡 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe。 選擇預設安裝路徑(否則後面你要手動修改下載的指令碼)。 將C:\Program Files\Git\bin 加進系統路徑。Android的源碼在這裡:http://git.source.android.com/
- 為了省去一些麻煩,目前提供下載的指令碼,都是將指令碼的路徑和將要用來存放原始碼的路徑寫成固定的了。 你需要在F盤騰出至少4G的空間。目前來看至少10GB空間。因為我即將下載完成,已經達到6點幾G的大小,佔用空間達到近9G。如果磁碟空間不足,git會報錯,那就麻煩了,我已經吃了這個苦頭了。因為據網上說android的source code的size將近3.8G。在F盤根目錄下建立android_source_code目錄和download_android-source_script。顧名思義,前者用來存放原始碼,後者用來存放下載指令碼。
- 到這裡 https://www.sugarsync.com/pf/D033416_6684866_66541 下載下載指令碼,解壓將所有檔案放置f:\download_android-source_script\ 目錄下,注意:該目錄下直接就放這些指令碼,不要因為解壓的原因,再在這指令碼外面套上一些多餘的檔案夾。就是像這樣就可以了:
- 開始-->運行-->cmd-->f:-->cd\ -->cd download_android-source_script-->dlBatchFile.bat 然後就能看到如的下載介面,比較慢。
下載的進度結果,就寫在存放源碼目錄下的clone_result.log裡。要是遇到網路中斷,你可以看看你下載到哪了。然後手工修改dlBatchFile.bat
- 其實這些bat指令碼和sh指令碼使用python指令碼產生的,指令碼寫的很簡陋,隨便寫下,沒用心考究,注釋都沒寫,代碼如下:
view sourceprint?
01
import
os
02
03
fileP
=
open
(
"git_reps.txt"
,
"r"
);
04
05
logFileP
=
open
(
"2.log"
,
"w"
)
06
07
for
singleLine
in
fileP:
08
09
if
((
not
singleLine.startswith(
"\t"
))
and
(
not
singleLine.startswith(
"\n"
))
and
(
not
singleLine.startswith(
" "
))
and
(
not
singleLine.startswith(
"\r\n"
))):
10
11
logFileP.write(singleLine)
12
13
fileP.close();
14
15
logFileP.close()
16
17
18
19
sourceDir
=
"%android_source_code_path%"
20
21
allrepsFileP
=
open
(
"2.log"
,
"r"
)
22
23
dlBatchFileP
=
open
(
"dlBatchFile.bat"
,
"w"
)
24
25
gitRepHead
=
"git clone git://android.git.kernel.org/"
26
27
#device/htc/passion-common.git
28
29
i
=
0
30
31
for
singleAdd
in
allrepsFileP:
32
33
i
=
i
+
1
34
35
print
singleAdd
36
37
gitScriptFileName
=
"git_script_"
+
singleAdd.replace(
"/"
,
"_"
)[:
-
1
]
+
".sh"
38
39
lastDa
=
singleAdd.rfind(
"/"
)
40
41
singleDir
=
singleAdd[
0
:lastDa]
42
43
singleDir
=
singleDir.replace(
"/"
,
"\\"
)
44
45
print
singleDir
46
47
dlBatchFileP.write(
"if not exist "
+
singleDir
+
" md "
+
singleDir
+
"\n"
)
48
49
dlBatchFileP.write(
"cd "
+
singleDir
+
"\n"
)
50
51
dlBatchFileP.write(
"copy "
+
"F:\\download_android-source_script\\" + gitScriptFileName + "
/
y \n")
52
53
dlBatchFileP.write(
"\"C:\\Program Files\\Git\\bin\\sh\" "
+
gitScriptFileName
+
"\n"
)
54
55
dlBatchFileP.write(
"del "
+
gitScriptFileName
+
"\n"
)
56
57
dlBatchFileP.write(
"cd \\" + "
\n")
58
59
dlBatchFileP.write(
"cd "
+
sourceDir
+
"\n"
)
60
61
dlBatchFileP.write(
"echo "
+
str
(i)
+
"---::"
+
singleDir
+
" >>clone_result.log \n"
)
62
63
dlBatchFileP.write(
"\n"
)
64
65
spFileP
=
open
(gitScriptFileName,
"w"
)
66
67
spFileP.write(gitRepHead
+
singleAdd[:
-
1
])
68
69
spFileP.close()
70
71
dlBatchFileP.close()
72
73
allrepsFileP.close()
#git_reps.txt中是直接從http://git.source.android.com/複製粘貼過來的。
ps:Su Zhengang兄弟在mail list中提到repo,如下,Fyr。
Su Zhengang
發送至 china-android-.
顯示詳細資料 14:26 (2 小時前)
為什麼不用repo呢?
下載repo
Download thereposcript and make sure it is executable:
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
下載android代碼
$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo sync
這些就可以了,具體說明: http://source.android.com/source/download.html