真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android源代碼倉庫及其管理工具Repo分析詳解-創(chuàng)新互聯(lián)

軟件工程由于需要不斷迭代開發(fā),因此要對源代碼進行版本管理。Android源代碼工程(AOSP)也不例外,它采用Git來進行版本管理。AOSP作為一個大型開放源代碼工程,由許許多多子項目組成,因此不能簡單地用Git進行管理,它在Git的基礎上建立了一套自己的代碼倉庫,并且使用工具Repo進行管理。工欲善其事,必先利其器。本文就對AOSP代碼倉庫及其管理工具repo進行分析,以便提高我們?nèi)粘i_發(fā)效率。

創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為潢川企業(yè)提供專業(yè)的成都網(wǎng)站設計、做網(wǎng)站,潢川網(wǎng)站改版等技術服務。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

《Android系統(tǒng)源代碼情景分析》——點擊下載

現(xiàn)代的代碼版本管理工具,SVN和Git是最流行的。SVN是一種集中式的代碼管理工具,需要有一個中心服務器,而Git是一種分布式的代碼管理工具。不需要一個中心服務器。不需要中心服務器意味著在沒有網(wǎng)絡的情況下,Git也能進行版本管理。因此,單從這一點出發(fā),Git就比SVN要方便很多。當然,Git和SVN相比,還有許多不同的理念設計,但是總的來說,Git越來越受到大家的青睞,尤其是在開源社區(qū)。君不見,Linux是采用Git進行版本管理,而越來越火的GitHub,提供也是Git代碼管理服務。本文不打算分析Git與SVN的區(qū)別,以及Git的使用方法,不過強烈建議大家先去了解Git,然后再看下面的內(nèi)容。這里推薦一本Git書籍《Pro Git》,它是GitHub的員工Scott Chacon撰寫的,對Git的使用及其原理都介紹得非常詳細和清晰。


前面提到,AOSP是由許許多項目組成的,例如,在Android 4.2中,就包含了329個項目,每一個項目都是一個獨立的Git倉庫。這意味著,如果我們要創(chuàng)建一個AOSP分支來做feature開發(fā),那么就需要到每一個子項目去創(chuàng)建對應的分支。這顯然不能手動地到每一個子項目里面去創(chuàng)建分支,必須要采用一種自動化的方式來處理。這些自動化處理工作就是由Repo工具來完成的。當然,Repo工具所負責的自動化工作不只是創(chuàng)建分支那么簡單,查看分支狀態(tài)、提交代碼、更新代碼等基礎Git操作它都可以完成。


Repo工具實際上是由一系列的Python腳本組成的,這些Python腳本通過調(diào)用Git命令來完成自己的功能。比較有意思的是,組成Repo工具的那些Python腳本本身也是一個Git倉庫。這個Git倉庫在AOSP里面就稱為Repo倉庫。我們每次執(zhí)行Repo命令的時候,Repo倉庫都會對自己進行一次更新。


上面我們討論的是Repo倉庫,但是實際上我們執(zhí)行Repo命令想操作的是AOSP。這就要求Repo命令要知道AOSP都包含有哪些子項目,并且要知道這些子項目的名稱、倉庫地址是什么。換句話說,就是Repo命令要知道AOSP所有子項目的Git倉庫元信息。我們知道,AOSP也是不斷地迭代法變化的,例如,它的每一個版本所包含的子項目可能都是不一樣的。這意味著需要通過另外一個Git倉庫來管理AOSP所有的子項目的Git倉庫元信息。這個Git倉庫在AOSP里面就稱為Manifest倉庫。


到目前為止,我們提到了三種類型的Git倉庫,分別是Repo倉庫、Manifest倉庫和AOSP子項目倉庫。Repo倉庫通過Manifest倉庫可以獲得所有AOSP子項目倉庫的元信息。有了這些元信息之后,我們就可以通過Repo倉庫里面的Python腳本來操作AOSP的子項目。那么,Repo倉庫和Manifest倉庫又是怎么來的呢?答案是通過一個獨立的Repo腳本來獲取,這個Repo腳本位于AOSP的一個官方網(wǎng)站上,我們可以通過HTTP協(xié)議來下載。


現(xiàn)在,我們就通過一個圖來來勾勒一下整個AOSP的Picture,它由Repo腳本、Repo倉庫、Manifest倉庫和AOSP子項目倉庫組成,如圖1所示:

接下來我們就看看上述腳本和倉庫是怎么來的。

1. Repo腳本


從官方網(wǎng)站可以知道,Repo腳本可以通過以下命令來獲?。?/p>

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 
$ chmod a+x ~/bin/repo 

網(wǎng)站欄目:Android源代碼倉庫及其管理工具Repo分析詳解-創(chuàng)新互聯(lián)
路徑分享:http://weahome.cn/article/ceddds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部