Mac下的android源碼下載

來源:互聯網
上載者:User

標籤:

文檔說明:

1,主要參考android的官網:http://source.android.com/source/initializing.html.

2,本人使用的硬體設定:MacBook Pro,Mountain Lion(10.8)系統。

3,文中所描述的步驟是作者一步一步執行下來的,但絕對並不是唯一的步驟,步驟中的一些小細節讀者可以嘗試各種自己習慣的方法。

4,帶$ 標誌的,為terminal中輸入的命令語句

 

第一步,建立磁碟映像(初次使用,執行該步驟)

  說明:儘管mac系統儲存了檔案名稱的大小寫,但卻不區分檔案名稱的大小寫(file.sh File.sh為同一個檔案)。為了避免git大小寫問題產生的bug,建議使用者將下載原始碼的路徑放到區分大小寫磁碟上。

開啟Disk Utility(磁碟工具)--> New Image(建立映像),如建立磁碟映像檔案:


其中的名稱android_source,軟體會自動加上_dmg,既磁碟掛在後的磁碟名為,android_source_dmg。在切換到該磁碟時,需要用到該名字。

第二步,下載環境配置(初次使用,執行該步驟)

1,xCode,蘋果的開發工具,可以在App Store輕鬆下載。不同的源碼所需要的最低版本也是不一樣的,作者的mac為10.8,目前所有版本都可下載,具體可參考官網。

2,Command Line Tools,安裝完xCode後,開啟Preferrences-->Downloads,可以下載改工具,如:

3,安裝MacPorts

驗證是否安裝,可以在terminal中輸入

$ sudo port

命令列,確定是否存在。否則可以根據官網http://www.macports.org/install.php所要求的步驟安裝(該軟體的安裝前需要安裝xcode和command line tools)。

4,安裝所需軟體
terminal中執行如下命令:

$ echo $PATH

   確定是否包含/opt/local/bin路徑,並保證該路徑在/usr/bin路徑前。否則,在home路徑下輸入如下命令

$ open -e .bash_profile

開啟.bash_profile檔案後,將如下命令加入到該檔案中,並儲存。

$ export PATH=/opt/local/bin:$PATH

輸入如下命令,安裝make, git 和GPG包:

$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

細心的使用者可能會發現上面所列的命令中安裝的git包,而文檔中使用的是git-core包,作者在實際安裝中使用git-core會報錯,改成git會通過。

5,將make版本從3.82降為3.81
說明:首先需要編輯/opt/local/etc/macports/sources.conf檔案,該檔案為可讀的,需要root許可權才能修改。修改的內容如下:

在該檔案的最後,rsycn所在行的上面加入如下資料:

file:///Users/Shared/dports

接著就可以按照官網上的步驟一個一個命令來執行了:

$ mkdir /Users/Shared/dports$ svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/$ portindex /Users/Shared/dports$ sudo port install gmake @3.81

6,設定檔案描述限制

這裡我的理解是修改同時開啟檔案的數量。開啟.bash_profile,添加如下代碼到該檔案中。

# set the number of open files to be 1024ulimit -S -n 1024
第三步,下載原檔案

  該步驟中,除第1小點,是初次調用外(保證~/bin檔案夾存在),其它步驟在每次下載源碼時,都需要調用,並依次調用即可。

  1,安裝Repo軟體(初次使用,執行該步驟)

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

2,裝載磁碟

找到之前建立的.dmg (本文建立的為android.dmg),右鍵如所示,

點擊DiskImageMounter,成功後會在Finder的左側邊欄底部看到裝置:



3,初始化Repo用戶端

在進行該步驟之前,請確認:

  • 目前的目錄已經切換到之前建立的磁碟映像下,裝載後,使用 cd/Volumes/android_source_dmg方法可以切換該目錄下。
  • 確認你的google account可用,可以登陸以下網址確認:https://accounts.google.com/ServiceLogin
  • 可以FQ!!至少可以順暢瀏覽google及android源碼的官網。

  以上幾個確認後,就可以初始化該用戶端了。

  首先,要建立一個檔案夾並切換到該檔案夾下,如

$ mkdir android4.0.1$ cd android4.0.1

  其次,執行如下命令,該命令時為了能夠順利的調用repo命令:

$ PATH=~/bin:$PATH

  然後執行以下命令:

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

  可以根據需要,修改自己需要下載的版本。

  4,下載原始碼

  執行如下命令:  

$ repo sync

  到目前為止,源碼應該可以開始下載了,但由於檔案太大,網路出錯或者Google ip限制等原因,在下載過程中會出現各種錯誤或者中斷。

  5,下載最佳化1

  下載過程中,官網會限制同時串連的數目,為瞭解決這個問題,官網上提供了如下方法:

  •  https://android.googlesource.com/new-password,訪問該頁面,產生帳戶密碼,按照頁面的步驟,將產生頁面中machine開頭的兩行複製下來。
  •  在home路徑下建立.netrc檔案(使用vi,很方便)。
  • 將上面複製的內容,拷貝到該.netrc檔案中,並儲存,保證可讀。
  • 使用如下命令初始化Repo用戶端:
$ repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.0.1_r1

  完成以上步驟後,可以繼續下載。

  6,下載最佳化2

  由於網路等原因,會造成下載中斷,儘管使用者可以通過repo sync命令繼續下載,但由於檔案太大,出現這種情況的頻率很高。因此可以使用如下命令:(源自柯元旦的android技術核心剖析一書)。

#!/bin/bash   #FileName  get-android.sh  PATH=~/bin:$PATH   repo init -u https://android.googlesource.com/platform/a/manifest -b android-4.0.1_r1           repo sync   while [ $? = 1 ]; do   echo "================sync failed, re-sync again ====="   sleep 3   repo sync   done 

以上檔案為可執行檔(.sh,通過chmod +x get-android.sh改變該屬性),儲存到下載檔案夾路徑下(如 android4.0.1)。

執行該檔案./get-android.sh,然後就可以睡覺去了。

第二天開啟電腦,如果看到100%的標識,並有done的文字出現(由於急著上班,沒有切圖),更重要的是,下載源碼的檔案夾下看到了各種檔案夾,那恭喜你,下載成功了!

有什麼疑問都可以留言~

Mac下的android源碼下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.