免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
使用repo和git下載android源碼和相關(guān)解釋
repo只是google用Python腳本寫(xiě)的調(diào)用git的一個(gè)腳本,主要是用來(lái)下載、管理Android項(xiàng)目的軟件倉(cāng)庫(kù)。(也就是說(shuō),他是用來(lái)管理git所管理的一個(gè)個(gè)倉(cāng)庫(kù)),可以簡(jiǎn)化android開(kāi)發(fā)中g(shù)it的使用。
 
-----------------  repo使用方法 ---------------------
$repo init -u URL [OPTIONS]
Options:
-u: specify a URL from which to retrieve a manifest repository. The common manifest can be found atgit://android.git.kernel.org/platform/manifest.git
    指定一個(gè)網(wǎng)址,從這個(gè)網(wǎng)址里 檢索清單資料庫(kù),常見(jiàn)的應(yīng)用是 android.git.kernel.org/platform/manifest.git
-m:select a manifest file within the repository. If no manifest name is selected, the default is default.xml.
    在倉(cāng)庫(kù)內(nèi) 選擇一個(gè) 清單文件(manifest),如果沒(méi)有你要的文件,那么默認(rèn)是default.xml
-b: specify a particular manifest-branch.
    指定 一個(gè)特定的 在清單里的 分支
$repo sync [PROJECT_LIST]
---------------------------------------
 以下操作是在ubuntu上,其實(shí) 其他的linux基本都一樣!

1.安裝git和curl
命令:
$sudo apt-get install git-core curl

說(shuō)明:
      curl是一個(gè)向服務(wù)器或從服務(wù)器傳輸數(shù)據(jù)的工具,它支持HTTP 、HTTPS、FTP 、 FTPS 、 SCP、SFTP、TFTP、DICT、TELNET、LDAP或FILE等協(xié)議。對(duì)于web開(kāi)發(fā)人員來(lái)說(shuō),它對(duì) HTTP POST的支持為我們提供了很大的幫助。

     git是分布式的版本控制系統(tǒng),在這里負(fù)責(zé)把遠(yuǎn)程版本庫(kù)的源代碼clone下來(lái)。

2. 安裝repo
命令:(是一個(gè)便于git管理的工具)

$mkdir bin 

//下載repo腳本到本地bin文件夾下 
$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo>~/bin/repo 

//設(shè)置本地repo的可執(zhí)行權(quán)限 
$chmod a+x ~/bin/repo  

//臨時(shí)把repo添加到環(huán)境變量中,方便后面執(zhí)行。 
$export PATH=~/bin:$PATH

說(shuō)明:
      repo是一個(gè)基于git的版本庫(kù)管理工具,可以簡(jiǎn)化android開(kāi)發(fā)中使git的使用。在這里,使用repo和官方提供的android project列表自動(dòng)批量下載android整個(gè)項(xiàng)目,免去了大量下載各個(gè)項(xiàng)目的手動(dòng)工作量。

3.初始化repo客戶端(版本庫(kù))

如果是想把Android當(dāng)前主線上最新版本的所有的sourcecode拿下來(lái),我們需要repo的幫助。
先建立一個(gè)目錄,
進(jìn)去以后用repo init命令即可,然后就可以用repo sync 抓去 android source code 

命令:

//創(chuàng)建目錄android/android-source來(lái)存放下載的源碼  $mkdir android/android-source -p  
//進(jìn)入目錄  $cd android/android-source  
//獲取項(xiàng)目列表并且初始化目錄  $repo init -u https://android.googlesource.com/platform/manifest 
    解釋:repo init -u URL 用以 在當(dāng)前目錄下 安裝 repository ,會(huì)在當(dāng)前目錄創(chuàng)建一個(gè)目錄 '.repo'  -u 參數(shù)指定一個(gè)URL, 從這個(gè)URL 中取得repository 的 manifest (清單)文件。
    獲取的manifest文件放在.repo目錄中。命名manifest.xml。這個(gè)文件的內(nèi)容其實(shí)就是所有被git管理的倉(cāng)庫(kù)的列表!可以用 -m 參數(shù)來(lái)選擇獲取 repository 中的某一個(gè)特定的 manifest 文件,不具體指定,那么表示為 將要獲取 默認(rèn)的 mainfest 文件 (default.xml)。

(有諸多供我們選擇的manifest文件,所有的manifest文件都放在目錄.repo/manifests中,該目錄本身亦被git所管理)

可以用 -b 參數(shù) 來(lái) 指定 某個(gè)manifest 的分支。注意 .repo/manifests是個(gè)被git管理的倉(cāng)庫(kù),這里放的是所有的manifest文件(*.xml),因?yàn)?strong>被git管

理,固然有分支,-b可以切換到你想要的分支然后再下載相關(guān)的xml文件,當(dāng)然具體下載那個(gè)xml還要看-m參數(shù)了,所以如果你僅僅指定-b而沒(méi)有-m的話,就是下

載-b指定分支下的default.xml文件,如果不指定-b參數(shù),那么會(huì)默認(rèn)使用master分支

 

按照提示輸入 用戶名 和 郵箱
 初始化完成后會(huì)顯示repo initialized in /home/http://www.cnblogs.com/xx,如下圖:
 
  這樣就說(shuō)明本地的版本庫(kù)已經(jīng)初始化完畢,并且包含了當(dāng)前最新的sourcecode。  
注意:如果想拿 某個(gè)branch而不是主線上的代碼,我們需要用 -b 參數(shù)制定branch名字,如:
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo-amlogic-mid
另一種情況是,我們只需要某一個(gè)project的代碼,比如kernel/common,就不需要repo了,直接用Git即可。
git clone git://android.git.kernel.org/kernel/common.git
這也需要不少的時(shí)間,因?yàn)樗鼤?huì)把整個(gè)Linux Kernel的代碼復(fù)制下來(lái)。
如果需要某個(gè)branch的代碼,用git checkout即可。比如我們剛剛拿了kernel/common.git的代碼,那就先進(jìn)入到common目錄,然后用下面的命令:
git checkout origin/android-goldfish-2.6.27 -b goldfish
這樣我們就在本地建立了一個(gè)名為goldfish的android-goldfish-2.6.27分支,代碼則已經(jīng)與android-goldgish-2.6.27同步。我們可以通過(guò)git branch來(lái)列出本地的所有分支。


4.同步版本庫(kù)命令:

$repo sync

這樣 我們把整個(gè)android代碼樹(shù)做到同步到本地,

    解釋:如果是第一次運(yùn)行 repo sync , 則這個(gè)命令相當(dāng)于 git clone ,會(huì)把 repository 中的所有內(nèi)容都拷貝到本地。 如果不是第一次運(yùn)行 repo sync , 則相當(dāng)于 git remote update ;  git rebase origin/branch .  

repo sync 會(huì)更新 .repo 下面的文件。 如果在merge 的過(guò)程中出現(xiàn)沖突, 這需要手動(dòng)運(yùn)行  git  rebase --continue

      說(shuō)白了,就是從服務(wù)器上下載最新的代碼。

      接下來(lái)就是漫長(zhǎng)的等待,本人10M帶寬,依然下載了幾個(gè)小時(shí)。

同樣,我們可以用類似
repo sync project1 project2 …
這樣的命令來(lái)同步某幾個(gè)項(xiàng)目,
如果是同步Android中的單個(gè)項(xiàng)目,只要在項(xiàng)目目錄下執(zhí)行簡(jiǎn)單的git pull即可。


repo manifest -r -o xxx.xml #獲取 當(dāng)前的源代碼的manifest,并保存為 xxx.xml

==============

 5.小結(jié)

      源碼下來(lái)就是一筆財(cái)富,堅(jiān)持查看源代碼,分析其中的底層實(shí)現(xiàn)和框架模式,都絕對(duì)是極佳的學(xué)習(xí)經(jīng)歷,一定大有益處。

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
repo的用法
git repo
Repo 詳解
Android 4.4 全套源碼及子模塊源碼的下載方法
Android源代碼倉(cāng)庫(kù)及其管理工具Repo分析
android2.3.3下載 編譯
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服