android 5.0 (lollipop)源碼編譯環境搭建(Mac OS X)


硬件環境:MacBook Pro Retina, 13-inch, Late 2013

    處理器  2.4 GHz Intel Core i5

    內存  8 GB 1600 MHz DDR3

    硬盤60G以上

軟件環境:OS X 10.9.2

    GNU Make 3.81

    Python 2.7.5

    XCode 5.0.2

    java version "1.7.0_55"

    repo VERSION = (1, 21)

    某收費VPN(代理FAN牆是下載不了的,請使用VPN)

    (軟件版本問題非常可能導致下載或者編譯失敗!!!高版本請降至這些版本...

1.創建一個鏡像。因為源碼只能在大小寫敏感的磁盤上編譯(紅色字體標示可以自行配置的參數,下同

  hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 60g ~/android.dmg.sparsefile

  這里分了60G硬盤

2.加載分區

  hdiutil attach ~/android.dmg.sparsefile -mountpoint /Volumes/android

3.下載相應的工具

  主要說一下repo,請開vpn

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

  然后將repo的所在路徑加到環境變量方便后面使用

  java、make等工具請自行google,盡量用和博主相同的軟件版本。

4.修改文件描述符限制

  在~/.bash_profile中添加以下內容:

    # set the number of open files to be 1024 

    ulimit -S -n 1024

5.進入到加載好的分區下(上面的/Volumes/android)

  cd /Volumes/android/

  mkdir android-source 

  cd android-source

6.開始下載

    repo init -u https://android.googlesource.com/platform/manifest -b android-5.0.0_r3

    如果init正常,執行

      repo sync 或 repo sync -j4

 (其他設備或其他版本的源碼請查閱

  https://source.android.com/source/build-numbers.html

  https://android.googlesource.com/platform/manifest

  )

  附圖一張

7.開始編譯

  在android-source目錄下執行

    make

  然后就可以等待編譯完成了。

  博主編譯中 5小時50分鍾時 遇到了一個問題

解決方案是將/Volumes/android/external/iptables/include/linux/netfilter_ipv4/ipt_ECN.h中的

#include <linux/netfilter/xt_DSCP.h>

改成

#include <linux/netfilter/xt_dscp.h>

 

總結一下過程中遇到的幾個問題

  1.repo版本。非官方的repo工具可能有秘鑰問題或者下載失敗,請使用官方版本。樓主用舊版的repo下了好久,后來都刪了重新下的。。。

  2.VPN不穩定。這個問題不多解釋了大家都懂,lz也沒有買比較貴的專線VPN。解決辦法有一個,mac下可以用apple script編寫一個VPN自動重連的腳本,存成App即可。方法請自行Google。但是偶爾也會有已經斷網但是VPN沒有斷的情況,就只能手動重連了。

  3.下載和編譯時間過長。下載沒有統計,估計不算repo出問題的那次,也超過24小時了。dalvik完全換成ART后加上增加了5000個API,編譯時間明顯長了很多,編譯總耗時7小時30分鍾。源碼13.4G,repo文件20G,編譯完的源碼+build出來的文件共43G。

  4.感謝官網文檔:http://source.android.com/source/downloading.html

   感謝某人的文章:http://blog.csdn.net/bulreed/article/details/22783467

 

最后上圖兩張:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM