中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Android內核開發:理解和掌握repo工具

由于Android源碼是用repo工具來管理的,因此,搞Android內核開發,首先要搞清楚repo是什么東西,它該怎么使用?作為《Android內核開發》系列文章的第二篇,我們首先談談對repo工具的理解和使用。

創新互聯公司是一家集網站建設,沂源企業網站建設,沂源品牌網站建設,網站定制,沂源網站建設報價,網絡營銷,網絡優化,沂源網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

1. repo是什么?

repo是一種代碼版本管理工具,它是由一系列的Python腳本組成,封裝了一系列的Git命令,用來統一管理多個Git倉庫。

2. 為什么要用repo?

因為Android源碼引用了很多開源項目,每一個子項目都是一個Git倉庫,每個Git倉庫都有很多分支版本,為了方便統一管理各個子項目的Git倉庫,需要一個上層工具批量進行處理,因此repo誕生。

repo也會建立一個Git倉庫,用來記錄當前Android版本下各個子項目的Git倉庫分別處于哪一個分支,這個倉庫通常叫做:manifest倉庫。

3. 怎么安裝repo?

官方的repo腳本下載方法:

curl http://commondatastorage.googleapis.com/git-repo-downloads/repo >  ./repo

由于官網被墻,目前可以使用的repo腳本下載方法如下(兩者選一):

$ git clone git://git.omapzoom.org/git-repo.git
$ git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/  

$ cp git-repo/repo  ./repo

或者修改手頭已有的被墻的repo文件:

REPO_URL = 'git://git.omapzoom.org/git-repo.git'
REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo' 

REPO_REV = 'stable'

當然,你也可以去我的GitHub下載這個repo文件,地址:

https://github.com/Jhuster/AOSP/blob/master/repo

4. 怎么下載源碼?

上面說過,Android源碼分支其實由一個叫manifest倉庫來管理起來的,因此,下載源碼首先要clone這個manifest倉庫。這個倉庫里面有一個XML文件,其實就是一個文件清單,列出了本代碼倉庫依賴哪些代碼,該去哪下載,分支是什么。

一般用repo init命令來clone這個manifest倉庫,例如,如果要下載Android源碼,則方法如下:

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

當然,上面的官網被墻了,因此,推薦如下鏡像(兩者選一):

$ repo init -u git://git.omapzoom.org/platform/manifest.git
$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest

初始化完畢后,你會在本地的.repo文件夾中看到manifest倉庫的內容,這個文件夾中最重要的文件是manifest.xml(有的倉庫用的是default.xml,然后指向具體的xml),它就是上面說到的文件清單。

如果要選擇特定版本的Android源碼,或者在已下載的源碼基礎上切換到其他版本,則可以使用-b選項:

$ repo init -u git://git.omapzoom.org/platform/manifest.git -b android-5.0.2_r1 
$ repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_r1

然后使用 repo sync 命令進行同步即可下載好全部的Android源碼了。

5. manifest.xml文件清單的組成

上面提到了repo init需要初始化一個manifest倉庫,倉庫中含有一個很重要的manifest.xml文件清單,其實這個manifest.xml并不復雜的,它就是用XML文件的格式記錄了本項目依賴的各個Git倉庫的名稱、地址,以及分支等信息。常用的元素如下所示:

(1) manifest 最頂層的XML元素

(2) remote  設置遠程git服務器的屬性,如名稱、根URL地址等

(3) project 需要clone的Git倉庫,path表示本機路徑,name表示遠程版本庫的相對路徑

(4) copyfile 執行拷貝操作,把URL/$src地址的文件拷貝到./$dest

其實,如果不使用repo工具,也是可以對照manifest.xml文件清單直接使用“git clone”的方式一個project一個project的下載的,然后對每個project進行git checkout特定的分支。

7. 常用repo命令

這一塊網上文章很多,我就不詳細講解了,只列出常用命令。

(1) repo init   // 初始化repo倉庫

(2) repo sync   // 下載源碼

(3) repo start  // 創建分支

(4) repo checkout //切換分支

(5) repo branches //查看分支

(6) repo status   //查看文件狀態

8. 小結

關于repo工具就介紹到這里了,有任何疑問歡迎留言或者來信[email protected]交流,也歡迎關注我的新浪微博 @盧_俊 獲取最新的文章和資訊。

當前文章:Android內核開發:理解和掌握repo工具
路徑分享:http://www.2m8n56k.cn/article24/jcgcje.html

成都網站建設公司_創新互聯,為您提供網站設計云服務器響應式網站虛擬主機營銷型網站建設移動網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 亚洲视频国产 | 国产一级a毛片 | 久久毛片久久毛 | 国产成人精品免费视 | 自拍视频在线 | 亚洲精品视频免费 | 欧美一级久久久久久久久大 | 黄色成人免费网站 | 午夜爽爽视频 | 亚洲日韩中文字幕天堂不卡 | 国产精品亚洲一区二区三区 | 国产韩国精品一区二区三区久久 | 涩涩国产精品福利在线观看 | 欧美成人鲁丝片在线观看 | 91成人在线播放 | 蘑菇午夜三级 | 久草在线免费播放 | 黄色片三级网站 | 在线观看亚洲专区 | 一级毛片视频免费 | 亚洲国产一区二区三区在线观看 | fc2成年手机免费共享视频 | 在线综合视频 | 欧美一区二区三区四区在线观看 | 日本精品一区二区三区在线 | 国产精品久久久香蕉 | 99精品在线观看视频 | 欧美一级毛片特黄黄 | 亚洲日本中文字幕在线 | 久久免费公开视频 | 久久这里有精品视频 | 欧美亚洲综合另类在线观看 | 国产不卡一区二区三区免费视 | 草草影院ccyy | 免费看一毛一级毛片视频 | 成人毛片全部免费观看 | 日本在线视频不卡 | 男女午夜性爽快免费视频不卡 | 久久久久久久免费视频 | 亚洲国产cao| 米奇888在线播放欧美 |