Android 5.1 AOSP 源碼獲取

本文已同步更新至:http://dxjia.cn/2015/08/android-aosp-code-sync/android

Android 5.1源碼開放有一個多月啦,但因爲城牆的關係,每次想着更新最新源碼學習都萬般糾結,如今發現國內有開源鏡像啦,這就好多啦,感謝清華開源工做團隊的無私工做啊。git

地址:http://mirrors.tuna.tsinghua.edu.cn/github

根據頁面上的介紹,該鏡像只支持源碼sync,不支持sdk更新。web

  • AOSP 鏡像服務單 IP 併發數限制爲 4。因版權緣由,咱們沒法提供 Android SDK 鏡像

能夠看一下他給出的使用幫助http://mirrors.tuna.tsinghua.edu.cn/help/#AOSPapi

 

本文的步驟若是不成功,請移步上面的幫助連接,由於可能方法有變更。併發

 

由於我本地已經安裝好了repo工具,因此直接根據使用幫助裏面介紹的repo init,而後repo sync就能夠了。curl

 

下面介紹一下具體的步驟:ide

安裝repo工具

repo須要安裝最新版本的,若是已經像我同樣以前有安裝的,能夠略過此步。工具

官方給出的repo下載以下:學習

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

 

repo init

新建存放源碼的目錄,我這裏爲 aosp目錄,而後cd進入aosp目錄,使用repo init目錄來初始化倉庫。

google官方給出的sync最新源碼的命令爲:

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

若是不想獲取到最新,只想獲得某個指定版本,就須要多加一個-b參數,而後跟具體release版本名

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

惋惜國內一樣不能用啦,咱們要作的就是把-u參數修改成TUNA(清華鏡像)的,以下:

repo init -u https://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest
## 若是提示沒法鏈接到 gerrit.googlesource.com,能夠編輯 ~/bin/repo,把 REPO_URL 一行替換成下面的: ## REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
 
 
android-5.1.0_r3repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b

這裏再擴展介紹一下 -b參數的獲取,android版本號實在是太多啦,不只andriod 4.0 5.0的,還有小版本r1  r2,怎麼才能搞到正確的分支名呢,並且指定的分支名還須要你的更新源上得有的,經過下面的方式:

cd ~
git clone git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest
cd manifest
git branch -a

這樣就會列出清華鏡像上aosp全部的分支名啦,從中找到你想要的便可

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/adt_23.0.3
  remotes/origin/android-1.6_r1
  remotes/origin/android-1.6_r1.1
  remotes/origin/android-1.6_r1.2
  remotes/origin/android-1.6_r1.3
  remotes/origin/android-1.6_r1.4
  remotes/origin/android-1.6_r1.5
  remotes/origin/android-1.6_r2
  remotes/origin/android-2.0.1_r1
  remotes/origin/android-2.0_r1
  remotes/origin/android-2.1_r1
  remotes/origin/android-2.1_r2
  remotes/origin/android-2.1_r2.1p
  remotes/origin/android-2.1_r2.1p2
  remotes/origin/android-2.1_r2.1s
  remotes/origin/android-2.2.1_r1
  remotes/origin/android-2.2.1_r2
  remotes/origin/android-2.2.2_r1
  remotes/origin/android-2.2.3_r1
  remotes/origin/android-2.2.3_r2
  remotes/origin/android-2.2.3_r2.1
  remotes/origin/android-2.2_r1
  remotes/origin/android-2.2_r1.1
  remotes/origin/android-2.2_r1.2
  remotes/origin/android-2.2_r1.3
  remotes/origin/android-2.3.1_r1
  remotes/origin/android-2.3.2_r1
  remotes/origin/android-2.3.3_r1
  remotes/origin/android-2.3.3_r1.1
  remotes/origin/android-2.3.4_r0.9
  remotes/origin/android-2.3.4_r1
  remotes/origin/android-2.3.5_r1
  remotes/origin/android-2.3.6_r0.9
  remotes/origin/android-2.3.6_r1
  remotes/origin/android-2.3.7_r1
  remotes/origin/android-2.3_r1
  remotes/origin/android-4.0.1_r1
  remotes/origin/android-4.0.1_r1.1
  remotes/origin/android-4.0.1_r1.2
  remotes/origin/android-4.0.2_r1
  remotes/origin/android-4.0.3_r1
  remotes/origin/android-4.0.3_r1.1
  remotes/origin/android-4.0.4_r1
  remotes/origin/android-4.0.4_r1.1
  remotes/origin/android-4.0.4_r1.2
  remotes/origin/android-4.0.4_r2
  remotes/origin/android-4.0.4_r2.1
  remotes/origin/android-4.1.1_r1
  remotes/origin/android-4.1.1_r1.1
  remotes/origin/android-4.1.1_r2
  remotes/origin/android-4.1.1_r3
  remotes/origin/android-4.1.1_r4
  remotes/origin/android-4.1.1_r5
  remotes/origin/android-4.1.1_r6
  remotes/origin/android-4.1.1_r6.1
  remotes/origin/android-4.1.2_r1
  remotes/origin/android-4.1.2_r2
  remotes/origin/android-4.1.2_r2.1
  remotes/origin/android-4.2.1_r1
  remotes/origin/android-4.2.1_r1.1
  remotes/origin/android-4.2.1_r1.2
  remotes/origin/android-4.2.2_r1
  remotes/origin/android-4.2.2_r1.1
  remotes/origin/android-4.2.2_r1.2
  remotes/origin/android-4.2.2_r1.2b
  remotes/origin/android-4.2_r1
  remotes/origin/android-4.3.1_r1
  remotes/origin/android-4.3_r0.9
  remotes/origin/android-4.3_r0.9.1
  remotes/origin/android-4.3_r1
  remotes/origin/android-4.3_r1.1
  remotes/origin/android-4.3_r2
  remotes/origin/android-4.3_r2.1
  remotes/origin/android-4.3_r2.2
  remotes/origin/android-4.3_r2.2-cts
  remotes/origin/android-4.3_r2.3
  remotes/origin/android-4.3_r3
  remotes/origin/android-4.3_r3.1
  remotes/origin/android-4.4.1_r1
  remotes/origin/android-4.4.1_r1.0.1
  remotes/origin/android-4.4.2_r1
  remotes/origin/android-4.4.2_r1.0.1
  remotes/origin/android-4.4.2_r2
  remotes/origin/android-4.4.2_r2.0.1
  remotes/origin/android-4.4.3_r1
  remotes/origin/android-4.4.3_r1.0.1
  remotes/origin/android-4.4.3_r1.1
  remotes/origin/android-4.4.3_r1.1.0.1
  remotes/origin/android-4.4.4_r1
  remotes/origin/android-4.4.4_r1.0.1
  remotes/origin/android-4.4.4_r2
  remotes/origin/android-4.4.4_r2.0.1
  remotes/origin/android-4.4_r1
  remotes/origin/android-4.4_r1.0.1
  remotes/origin/android-4.4_r1.1
  remotes/origin/android-4.4_r1.1.0.1
  remotes/origin/android-4.4_r1.2
  remotes/origin/android-4.4_r1.2.0.1
  remotes/origin/android-4.4w_r1
  remotes/origin/android-5.0.0_r1
  remotes/origin/android-5.0.0_r1.0.1
  remotes/origin/android-5.0.0_r2
  remotes/origin/android-5.0.0_r2.0.1
  remotes/origin/android-5.0.0_r3
  remotes/origin/android-5.0.0_r3.0.1
  remotes/origin/android-5.0.0_r4
  remotes/origin/android-5.0.0_r4.0.1
  remotes/origin/android-5.0.0_r5
  remotes/origin/android-5.0.0_r5.0.1
  remotes/origin/android-5.0.0_r5.1
  remotes/origin/android-5.0.0_r5.1.0.1
  remotes/origin/android-5.0.0_r6
  remotes/origin/android-5.0.0_r6.0.1
  remotes/origin/android-5.0.0_r7
  remotes/origin/android-5.0.0_r7.0.1
  remotes/origin/android-5.0.1_r1
  remotes/origin/android-5.0.2_r1
  remotes/origin/android-5.0.2_r3
  remotes/origin/android-5.1.0_r1
  remotes/origin/android-5.1.0_r3
  remotes/origin/android-5.1.0_r4
  remotes/origin/android-5.1.0_r5
  remotes/origin/android-5.1.1_r1
  remotes/origin/android-5.1.1_r2
 remotes/origin/android-5.1.1_r3
  remotes/origin/android-cts-2.2_r8
  remotes/origin/android-cts-2.3_r10
  remotes/origin/android-cts-2.3_r11
  remotes/origin/android-cts-2.3_r12
  remotes/origin/android-cts-4.0.3_r1
  remotes/origin/android-cts-4.0.3_r2
  remotes/origin/android-cts-4.0_r1
  remotes/origin/android-cts-4.1_r1
  remotes/origin/android-cts-4.1_r2
  remotes/origin/android-cts-4.1_r4
  remotes/origin/android-cts-4.2_r2
  remotes/origin/android-cts-5.0_r2
  remotes/origin/android-cts-5.1_r1
  remotes/origin/android-cts-verifier-4.0.3_r1
  remotes/origin/android-cts-verifier-4.0_r1
  remotes/origin/android-l-preview_r2
  remotes/origin/android-sdk-4.0.3-tools_r1
  remotes/origin/android-sdk-4.0.3_r1
  remotes/origin/android-sdk-4.4.2_r1
  remotes/origin/android-sdk-4.4.2_r1.0.1
  remotes/origin/android-sdk-adt_r16.0.1
  remotes/origin/android-sdk-adt_r20
  remotes/origin/android-sdk-support_r11
  remotes/origin/android-support-test
  remotes/origin/android-tsl-2.0
  remotes/origin/android-wear-5.0.0_r1
  remotes/origin/chromium-dev
  remotes/origin/droiddriver-dev
  remotes/origin/froyo
  remotes/origin/gingerbread
  remotes/origin/gingerbread-release
  remotes/origin/gradle-dev
  remotes/origin/gradle_0.12.2
  remotes/origin/gradle_0.13.0
  remotes/origin/gradle_0.13.1
  remotes/origin/gradle_0.13.2
  remotes/origin/gradle_0.13.3
  remotes/origin/gradle_0.14.0
  remotes/origin/gradle_0.14.1
  remotes/origin/gradle_0.14.2
  remotes/origin/gradle_0.14.3
  remotes/origin/gradle_0.14.4
  remotes/origin/gradle_1.0.0
  remotes/origin/gradle_1.0.0-rc1
  remotes/origin/gradle_1.0.0-rc2
  remotes/origin/gradle_1.0.0-rc3
  remotes/origin/gradle_1.0.0-rc4
  remotes/origin/gradle_1.0.1
  remotes/origin/gradle_1.1.0
  remotes/origin/gradle_1.1.0-rc1
  remotes/origin/gradle_1.1.0-rc2
  remotes/origin/gradle_1.1.0-rc3
  remotes/origin/gradle_1.1.1
  remotes/origin/gradle_1.1.2
  remotes/origin/gradle_1.1.3
  remotes/origin/gradle_1.2.0
  remotes/origin/gradle_1.2.0-beta1
  remotes/origin/gradle_1.2.0-rc1
  remotes/origin/gradle_1.2.1
  remotes/origin/gradle_1.2.2
  remotes/origin/gradle_1.2.3
  remotes/origin/ics-mr0
  remotes/origin/ics-mr1
  remotes/origin/ics-plus-aosp
  remotes/origin/idea133
  remotes/origin/idea133-weekly-release
  remotes/origin/jb-dev
  remotes/origin/jb-mr1-dev
  remotes/origin/jb-mr1-dev-plus-aosp
  remotes/origin/jb-mr1.1-dev
  remotes/origin/jb-mr1.1-dev-plus-aosp
  remotes/origin/jb-mr2-cts-dev
  remotes/origin/jb-mr2-dev
  remotes/origin/jumper-stable
  remotes/origin/kitkat-cts-dev
  remotes/origin/kitkat-dev
  remotes/origin/l-preview
  remotes/origin/lollipop-cts-dev
  remotes/origin/lollipop-dev
  remotes/origin/lollipop-mr1-cts-dev
  remotes/origin/lollipop-mr1-dev
  remotes/origin/master
  remotes/origin/master-art
  remotes/origin/master-art-host
  remotes/origin/master-dalvik
  remotes/origin/master-dalvik-host
  remotes/origin/master-soong
  remotes/origin/ref/for/master
  remotes/origin/studio-1.0-dev
  remotes/origin/studio-1.0-release
  remotes/origin/studio-1.1-dev
  remotes/origin/studio-1.1-release
  remotes/origin/studio-1.2-dev
  remotes/origin/studio-1.2-release
  remotes/origin/studio-1.3-dev
  remotes/origin/studio-1.3-release
  remotes/origin/studio-master-dev
  remotes/origin/studio-master-release
  remotes/origin/studio_0.8.6
  remotes/origin/studio_1.0.0
  remotes/origin/studio_1.0.1
  remotes/origin/tools-canary-release
  remotes/origin/tools_ndk_r9d
  remotes/origin/tools_r20
  remotes/origin/tools_r21
  remotes/origin/tools_r21.1
  remotes/origin/tools_r22
  remotes/origin/tools_r22.2
  remotes/origin/tools_r22.6
  remotes/origin/tradefed
  remotes/origin/ub-emulator-master
  remotes/origin/ub-jack
  remotes/origin/ub-jack-arzon
  remotes/origin/ub-jack-arzon-mr2
  remotes/origin/ub-jack-brest
  remotes/origin/ub-jack-lang-dev
  remotes/origin/ub-tools-idea133
  remotes/origin/ub-tools-idea133-milestone
  remotes/origin/ub-tools-idea133-release
  remotes/origin/ub-tools-master
  remotes/origin/ub-webview-m40-release
  remotes/origin/upstream-mirror-lldb
  remotes/origin/webview-m40_r1
  remotes/origin/webview-m40_r2
  remotes/origin/webview-m40_r3
  remotes/origin/webview-m40_r4

 

repo sync

repo sync

這樣就開始更新代碼啦,速度還不錯。

 

替換已有的 AOSP 源代碼的 remote

若是你以前已經經過某種途徑得到了 AOSP 的源碼(或者你只是 init 這一步完成後), 你但願之後經過 TUNA 同步 AOSP 部分的代碼,只須要將 .repo/manifest.xml 把其中的 aosp 這個 remote 的 fetch 從 https://android.googlesource.com 改成 https://aosp.tuna.tsinghua.edu.cn/

 

<manifest>
   <remote  name="aosp"
-           fetch="https://android.googlesource.com"
+           fetch="https://aosp.tuna.tsinghua.edu.cn"
            review="android-review.googlesource.com" />
   <remote  name="github"
相關文章
相關標籤/搜索