Windows 下載Android源碼

參考文檔:www.reibang.com/p/a6bb22f5875e
??Android源碼由Git進行管理,由于源碼由眾多的模塊組成稿辙,每個模塊又可能依賴許多第三方庫,所以如果想要通過git鏈接一個個clone下來的話工作量將會非常大气忠,所以Google用Python編寫了一個repo工具用來批量下載Android源碼邻储。(但是這個工具需要linux環(huán)境,如果想在windows下使用我們就必須在windows環(huán)境下搭建一個模擬的linux環(huán)境,這個模擬的linux環(huán)境我們可以用Cygwin來搭建)旧噪。
??首先Google用一個Git倉庫用來記錄當前Android版本下各個子項目的Git倉庫分別處于哪一個分支吨娜,這個倉庫通常叫做:manifest倉庫。這個倉庫里面有一個XML文件淘钟,其實就是一個文件清單宦赠,列出了本代碼倉庫依賴哪些代碼,該去哪下載,分支是什么勾扭。repo工具首先會clone這個倉庫毡琉,然后根據(jù)這個XML文件(default.xml)列出的路徑去批量下載源碼。在windows下一般可以用以下兩種方法來下載Android源碼妙色。
??注意:由于google的鏈接被墻了桅滋,所以我們可以使用清華大學提供的鏡像鏈接進行下載
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
或者
http://mirrors.ustc.edu.cn/aosp/
下面我們介紹通過Python 和git下載源碼的方法:
需要工具如下:
?下載git,安裝 官方下載:https://git-scm.com/downloads/
?下載python燎斩,安裝 官方網(wǎng)址:http://www.python.org
打開Git Bash虱歪,執(zhí)行命令,我是放在c盤的栅表,路徑可自定義

   git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git

輸入命令笋鄙,切換到manifest目錄

    cd manifest

下載最新系統(tǒng)源碼,輸入下面命令:

  git checkout

如果要下載其他版本源碼.
列出android各個分支版本:

   git  tag 

checkout git tag列出的版本號即可:

    git checkout android-7.0.0_r6

checkout之后怪瓶,manifest/default.xml文件中記錄的就是android7.0系統(tǒng)各個模塊的路徑.

下面就輪到python出場了萧落,這里用的是網(wǎng)上的一段python代碼,實現(xiàn)源碼的批量下載.
執(zhí)行此腳本的前提是已經(jīng)執(zhí)行了git checkout洗贰,選擇好了要下載的Android源碼版本找岖,如果你的manifest文件不是F:\Android\Android Src\manifest\default.xml,還要把里面的git.exe的路經(jīng)修改成你的安裝路徑敛滋,請自行修改腳本许布。
download-src.py源碼:

import xml.dom.minidom  
import os  
from subprocess import call  

#downloaded source path  
rootdir = "F:\\Android\\Android_Src"  

#git program path  
git = "D:\\Program\\Git\\bin\\git.exe"
dom = xml.dom.minidom.parse("F:\\Android\\Android Src\\manifest\\default.xml")  
root = dom.documentElement  

prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"  
suffix = ".git"  

if not os.path.exists(rootdir):  
    os.mkdir(rootdir)  

for node in root.getElementsByTagName("project"):  
    os.chdir(rootdir)  
    d = node.getAttribute("path")  
    last = d.rfind("/")  
    if last != -1:  
        d = rootdir + "/" + d[:last]  
        if not os.path.exists(d):  
            os.makedirs(d)  
        os.chdir(d)  
    cmd = prefix + node.getAttribute("name") + suffix  
  call(cmd)

執(zhí)行這個腳本之后將會自動下載源碼

注意事項
1.git安裝目錄不能有空格,不然執(zhí)行會報錯。
2.錯誤提示:0xc000007b


??其實這是一個挺常見的系統(tǒng)報錯绎晃,缺乏VC++庫蜜唾。
??我安裝的是python3.6,這個版本需要的vc版本是2015的了庶艾,下載:Microsoft Visual C++ 2015
3.最后一句執(zhí)行報錯的話:
??把call(cmd)改成call(cmd, shell=True)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末袁余,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子咱揍,更是在濱河造成了極大的恐慌颖榜,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件煤裙,死亡現(xiàn)場離奇詭異掩完,居然都是意外死亡,警方通過查閱死者的電腦和手機硼砰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門藤为,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人夺刑,你說我怎么就攤上這事。” “怎么了遍愿?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵存淫,是天一觀的道長。 經(jīng)常有香客問我沼填,道長桅咆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任坞笙,我火速辦了婚禮岩饼,結果婚禮上,老公的妹妹穿的比我還像新娘薛夜。我一直安慰自己籍茧,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布梯澜。 她就那樣靜靜地躺著寞冯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晚伙。 梳的紋絲不亂的頭發(fā)上吮龄,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音咆疗,去河邊找鬼漓帚。 笑死,一個胖子當著我的面吹牛午磁,可吹牛的內(nèi)容都是我干的尝抖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼漓踢,長吁一口氣:“原來是場噩夢啊……” “哼牵署!你這毒婦竟也來了?” 一聲冷哼從身側響起喧半,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤奴迅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后挺据,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體取具,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年扁耐,在試婚紗的時候發(fā)現(xiàn)自己被綠了暇检。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡婉称,死狀恐怖块仆,靈堂內(nèi)的尸體忽然破棺而出构蹬,到底是詐尸還是另有隱情,我是刑警寧澤悔据,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布庄敛,位于F島的核電站,受9級特大地震影響科汗,放射性物質(zhì)發(fā)生泄漏藻烤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一头滔、第九天 我趴在偏房一處隱蔽的房頂上張望怖亭。 院中可真熱鬧,春花似錦坤检、人聲如沸兴猩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽峭跳。三九已至,卻和暖如春缺前,著一層夾襖步出監(jiān)牢的瞬間蛀醉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工衅码, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拯刁,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓逝段,卻偏偏與公主長得像垛玻,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奶躯,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容