Android雜談:源碼下載小結(jié)

景甜

Android源碼下載都是老生常談了,這個(gè)純碎是紀(jì)錄一下。

下載repo工具

repo其實(shí)就是一個(gè)能夠下載多個(gè)git倉庫的工具啦,是python寫的一個(gè)腳本。為什么不直接用git呢?因?yàn)锳ndroid源碼是由很多個(gè)倉庫組成的,你不可能一個(gè)個(gè)去下吧?所以就誕生了repo工具,主要是解釋一個(gè)xml文件,去下載倉庫到特定目錄。

mkdir ~/bin                //放置repo的目錄
PATH=~/bin:$PATH     //將路徑設(shè)置到環(huán)境變量中去
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo     //下載repo工具
chmod a+x ~/bin/repo   //改變工具權(quán)限,所有人都可以執(zhí)行

repo解釋xml文件

上面說到repo主要是用來解釋xml文件的,那這個(gè)xml文件在哪里呢?我們把他下載下來。
下載路徑就是這個(gè)
https://android.googlesource.com/platform/manifest/
喲,不就是一個(gè)git倉庫嗎? 哈哈,其實(shí)這個(gè)xml也是在一個(gè)git倉庫里面。
你可以使用標(biāo)準(zhǔn)的git命令下載

git clone https://android.googlesource.com/platform/manifest

當(dāng)然repo工具也可以下載這個(gè)倉庫,-u是指定下載路徑,-b是指定分支,下面命令指定了android-6.0.1_r1分支。

repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1

那這個(gè)倉庫有些啥呀?,看看下圖,其實(shí)就只有一個(gè)xml文件,囧。


倉庫內(nèi)容

看看xml文件都寫了些啥玩意,可以看到里面有很多project,每個(gè)project就是一個(gè)倉庫。repo會(huì)下載這些倉庫。而倉庫的分支就是由xml中的revision指定啦!下面的代碼就是下載android-7.1.2_r11分支的代碼啦。

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />
  <default revision="refs/tags/android-7.1.2_r11"
           remote="aosp"
           sync-j="4" />
  <project path="build" name="platform/build" groups="pdk" >
    <copyfile src="core/root.mk" dest="Makefile" />
  </project>
  <project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" />
  <project path="build/kati" name="platform/build/kati" groups="pdk,tradefed" />
.....

但由于國(guó)內(nèi)google被墻原因,一般都下載不了~~
所以,只能找國(guó)內(nèi)的鏡像下載,清華有個(gè)鏡像,真良心。
但我這邊執(zhí)行這個(gè),就因?yàn)榫W(wǎng)絡(luò)原因停了。

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.1_r1

原來是下載xml時(shí),還會(huì)去下載repo的一些python腳本。下面這些

repo python 腳本

但repo的腳本地址是放在google服務(wù)器的。所以要修改repo的服務(wù)器地址。編輯 ~/bin/repo文件,把 REPO_URL 一行替換成下面的:
REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
參考:http://m.blog.csdn.net/article/details?id=51348647
這樣我們就能跑去清華那里下載羅。

一些git倉庫地址

google的都放在這里
https://android.googlesource.com

google Android倉庫

清華的放在這里,丑哭了~
http://mirrors.ustc.edu.cn/aosp/platform/

清華 Android倉庫

下載

最后repo sync 就可以下載了!

關(guān)于git下載

有兩種方式,效果是一樣的!
git clone git://github.com/wenfengtou/BedWatching
git clone https://github.com/wenfengtou/BedWatching.git

總結(jié)

1.下載repo工具
2.repo init 可以下載一個(gè)xml文件和部分repo輔助工具,xml里面紀(jì)錄著要下載的倉庫和分支。
3.repo sync 完成下載。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容