久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android拓展系列(3)

 487qq 2012-07-16

前幾天,,又切換回ubuntu11.04系統(tǒng)了,體驗(yàn)以下unity桌面,。
 android系統(tǒng)源碼(包括sdk源碼)的下載主要是需要用到git工具,,關(guān)于git工具的使用我會(huì)抽空專門介紹,,這里用到的時(shí)候簡(jiǎn)略說明一下,。
1.安裝git和curl
命令:

$sudo apt-get install git-core curl

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

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

2. 安裝repo
命令: 

1
2
3
4
5
6
7
$mkdir bin
//下載repo腳本到本地bin文件夾下
$curl http://android.git./repo >~/bin/repo
//設(shè)置本地repo的可執(zhí)行權(quán)限
$chmod a+x ~/bin/repo
//臨時(shí)把repo添加到環(huán)境變量中,,方便后面執(zhí)行。
$export PATH=~/bin:$PATH

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

3.初始化repo客戶端
命令:

1
2
3
4
5
6
//創(chuàng)建目錄android/android-source來存放下載的源碼
$mkdir android/android-source -p
//進(jìn)入目錄
$cd android/android-source
//獲取項(xiàng)目列表并且初始化目錄
$repo init -u git://android.git./platform/manifest.git

      初始化完成后會(huì)顯示repo initialized in /home/http://www.cnblogs.com/xx,如下圖:
 

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

1
$repo sync

      說白了,,就是從服務(wù)器上下載最新的代碼,。
      接下來就是漫長(zhǎng)的等待,本人10M帶寬,,依然下載了幾個(gè)小時(shí),。忘記截圖了,就不貼了,。 

5.下載單個(gè)項(xiàng)目的源碼
      前面我們把a(bǔ)ndroid整個(gè)項(xiàng)目都下載下來了 ,,包括虛擬機(jī),SDK,,NDK等,,但是對(duì)于相當(dāng)多的應(yīng)用開發(fā)者來說,只需要下載android sdk源代碼就足夠了,,沒必要下載3個(gè)多G的全部源碼,。
      所以,我們以SDK源碼為例子,,演示如何使用git下載單個(gè)項(xiàng)目工程(下載單個(gè)項(xiàng)目不需要repo工具),。
      打開網(wǎng)頁(yè) http://android.git./,包含大量的android相關(guān)的工程,。
      android SDK的代碼包括在android核心框架中,。工程路徑為 platform/frameworks/base.git。
      命令:

1
2
3
4
//進(jìn)入之前建立的android目錄
$cd android
//克隆服務(wù)器端的base的版本庫(kù)和代碼到android-sdk-source目錄下
$git clone git://android.git./platform/frameworks/base.git android-sdk-source

      等待一會(huì)兒,,大概200M,,下載完成后,如下圖,。
 
      類似的,,你可以下載任何其他的單個(gè)項(xiàng)目到本地。

6.獲取各個(gè)版本SDK源碼
      關(guān)于獲取各個(gè)版本的SDK源碼,,網(wǎng)上還是身邊經(jīng)常有人急需阿,,跪求阿什么的,,今天我在這里拋磚引玉,演示一下方法,,但是不提供下載,,畢竟文件還是有一定的大小的。
      首先我們現(xiàn)獲取SDK的各版本的標(biāo)志,,有兩種方式:1.通過分支branch;2.通過標(biāo)簽tag,。
       我們先看看結(jié)果:

1
2
3
4
5
6
//進(jìn)入base版本庫(kù)目錄
$cd android-sdk-source
//顯示所有的分支,包括遠(yuǎn)程和本地分支,,我們沒有建立分支,,所有沒有本地分支
$git branch -a
//顯示所有標(biāo)簽
$git tag

      分別如下面二圖:

 
圖A git branch -a 
 
圖B git tag

        從上面兩張圖中我們可以看到各個(gè)分支號(hào)和標(biāo)簽號(hào),這是我們切換分支和檢出標(biāo)簽的基礎(chǔ),。關(guān)于兩者的區(qū)別,, 如果你只是下載的話,大家暫時(shí)不需要知道,,branch是可以提交修改的,,tag則只是作一個(gè)重要的標(biāo)記,但是不能再修改標(biāo)簽對(duì)應(yīng)的代碼了,。
       大家都知道android在2.3中開始添加了NFC,所以源代碼中也會(huì)增加NFC目錄,,我們以此為基礎(chǔ),切換到2.3之前和之后的分支,,比較一下,。
       我們使用git checkout (branch)命令來檢出分支,我們分別檢出2.2和2.3版本的分支(同一目錄下切換):
 
      得到的結(jié)果分別是:

圖A froyo版本(android2.2)

圖B gingerbread版本(2.3版本,,姜餅)

      對(duì)比圖A和圖B,,我們發(fā)現(xiàn)圖B多了一個(gè)nfc目錄,說明我們切換到了2.3版本,。 
      檢出標(biāo)簽也是一模一樣的,,比如git check android-sdk-2.1_r1 
      通過切換不同的分支,我們可以獲取所有不同版本的SDK源代碼,,切換的速度還是很快的,。

7.鏈接android.jar源碼
      一般我們都喜歡下載各個(gè)版本的sdk源碼,分別存放在各個(gè)版本的sources目錄下,,以便eclipse方法中android.jar對(duì)應(yīng)鏈接,。這種方法我就不多介紹。
      今天,,我介紹另外一種方法讓我們只需要一個(gè)簡(jiǎn)單的命令就能方便的切換源代碼,,呵呵,你是不是想到了,,沒錯(cuò),,就是使用前面的checkout命令切換,。
      在工程的android.jar右鍵attach source,選擇前面的android-sdk-source文件夾,,

      鏈接完來后,,就可查看SDK源代碼了,如果版本不一致,,我們只需要在android-sdk-source目錄下執(zhí)行g(shù)it checkout branchname切換到相應(yīng)的版本就OK了,,再也不用找各個(gè)版本的源代碼了。
     當(dāng)然,,兩種方法各有長(zhǎng)短,,覺得哪種方便就用哪種好了,本人是linux環(huán)境,,所以我選擇后一種會(huì)更好,。

8.小結(jié)
      源碼下下來就是一筆財(cái)富,堅(jiān)持查看源代碼,,分析其中的底層實(shí)現(xiàn)和框架模式,,都絕對(duì)是極佳的學(xué)習(xí)經(jīng)歷,一定大有益處,。
      后面有機(jī)會(huì)我可能會(huì)為大家分析下android源碼的架構(gòu)層次,編譯自己的android系統(tǒng),,如何深度定制android等等,,這個(gè)看時(shí)間安排和具體情況。
      不過有一個(gè)是可以肯定的,,我在后面會(huì)單獨(dú)開一個(gè)專題來剖析android源碼:1.用源碼來解說常見的東西,;2.設(shè)計(jì)模式,敬請(qǐng)期待,!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多