Ubuntu10.04下載並編譯Android4.3源代碼


注:轉載或引用請標明出處    http://blog.csdn.net/luzhenrong45/article/details/9719433

去年用Ubuntu10.10成功下載並編譯Android4.0了的源代碼,見文章《Ubuntu10.10下載並編譯Android4.0》

不過,那時候,剛接觸Linux和Android不久,基本上都是百度來的教程,所以,對於Android源代碼的下載方式和編譯過程並沒有太多深入的了解,所以現在趁着Android4.3源代碼也提供下載了,重新學習一下。

    首先,官方網站對於Android源代碼的下載和編譯,有極其詳盡的介紹,可以此網站自己查閱:  http://source.android.com/source/building.html ,這里,我只想以自己的方式,來記錄這個過程。對於過程中遇到的問題,希望自己能夠獨立解決。


一.安裝JDK6

以前已經說過,Ubuntu自帶OpenJDK不適合編譯Android源代碼,所以需要安裝sun-jdk,其安裝配置方式可參考 《Linux安裝配置JDK6》


二.安裝Git工具

    Git 是 Linux Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的分布式版本控制軟件,可以有效,高速地對項目源代碼進行管理。它不同於Subversion、CVS這樣的集中式版本控制系統。在集中式版本控制系統中只有一個倉庫(repository),許多個工作目錄(working copy),而像Git這樣的分布式版本控制系統中(其他主要的分布式版本控制系統還有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一個工作目錄都包含一個完整倉庫,它們可以支持離線工作,本地提交可以稍后提交到服務器上。分布式系統理論上也比集中式的單服務器系統更健壯,單服務器系統一旦服務器出現問題整個系統就不能運行了,分布式系統通常不會因為一兩個節點而受到影響。

    Android源代碼采用Git工具來管理,所以需要先安裝Git,它的安裝方法如下:

 

apt-get install git-core gnupg


三.安裝其他信賴包 

 

 

  sudo apt-get install  flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc


四. 安裝 repo

 

    我們知道,Android是由kernel、Dalvik、Bionic、prebuilt、build等多個Git項目組成,所以為了方便開發者下載Android源代碼,Google編寫了一個名為Repo的Python的腳本來統一管理這些項目的倉庫,里面封裝了所有用來下載Android源代碼的Git命令,使得Git的使用更加簡單。

   首先確保在當前用戶的主目錄下創建一個/bin目錄(如果沒有的話),然后把它(~/bin)加到PATH環境變量中

 

$ mkdir ~/bin
$ PATH=~/bin:$PATH

    通過curl下載Repo腳本,保存到~/bin/repo文件中,並賦予repo可執行權限

 

 

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo


五.下載Android源代碼

 

    首先,創建一個空的目錄Android4.3(自命名),用來存放等一下下載的源代碼,並進入該目錄准備下載

 

$ mkdir ~/Android4.3
$ cd /home/guoke5/Android4.3/

    

初始化repo


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

    出現今天的第一個錯誤,如下圖所示,提示“未找到repo命令”


解決方法:將repo路徑重新加載到PATH中,然后重新執行命令,發現不會提示以上錯誤,但是彈出另一錯誤,Git "fatal: git 1.7.2 or later required",意思是要求更新Git版本到1.7.2或以下

 

$ PATH=~/bin:$PATH

 


好吧,現在我們來更新Git版本

 

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git


    更新后Git后,進入Android4.3目錄,重新執行repo的初始化命令,

 

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

上述命令執行,會刷刷出現一大堆東西,等待執行完畢,我們就可以執行下面那句命令開始下載源代碼了~~~

 

 

repo sync 

    然后系統會開始源源不斷地下載Android4.3源代碼了。在此另外說一聲,如果想下載其他版本的Android源代碼,只需要將剛才那句repo初始化命令替換成以下這句命令:

 

 

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

    其他版本號可以到這個官方網站查看: http://source.android.com/source/build-numbers.html

    然后是漫長的等待,如果下載過程中斷了,執行 repo sync,繼續下載...


    特意注意了一下,從開始下載,到源代碼下載完成,大概用了1個鍾,下載下來的文件夾足足有7.1G!!!



進入目錄,就可以看到里面的各個文件夾了,像大名鼎鼎的sdk,frameworks,packages,tools等等...


 

好吧,廢話不多說,開始編譯!!


六. 編譯Android源代碼

進入源代碼下載目錄,執行make語句開始編譯

 

 $: cd ~/Android4.3
 $: make

好吧,一開始編譯就出現錯誤:/bin/bash: jar:找不到命令

 

 

 


解決方法:做個軟鏈接,將防止等一下還出現類似的java javac,javadoc等命令也找不到的情況,所以,在這里也一起給解決了。

 

   cd /usr/bin   
   sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_41/bin/jar
   sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_41/bin/java
   sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_41/bin/javac
   sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_41/bin/javah
   sudo ln -s -f /usr/lib/jvm/java/jdk1.6.0_41/bin/javadoc


重新進入Android源代碼目錄,make,這一次真正開始編譯了,而且CPU滿載工作!!!真擔心這台普通電腦能不能勝任這任重而道遠的工作。

 

 

 




你見過如此霸氣的散熱么?


編譯中。。。

 


免責聲明!

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



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