Android源碼下載和編譯過程

來源:互聯網
上載者:User

標籤:android   blog   http   java   使用   strong   

這是我在編譯android源碼時整理記錄的編譯步驟和錯誤解決方案,期間參考了一些網上的部落格和教程。

第一步:

安裝ubuntu12.04,分配一盤空間50G,2G記憶體。如果分配1G記憶體編譯時間將報錯。(我是在虛擬機器中安裝ubuntu,分配了50G空間,編譯源碼需要空間較大,建議分配50G或更多,使用wubi安裝最大隻能分配30G)。

第二步:

安裝JDK,此處選用JDK版本為JDK6-6u29 32位,下載連結http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html。下載jdk-6u29-linux-i586.bin。

1、在終端執行sudo su命令 輸入密碼進入root使用者。

2、執行將檔案jdk-6u29-linux-i586.bin複製到/usr/lib/jvm/java目錄下,(若目錄不存在則建立該目錄,建立命令為mkdir /usr/lib/jvm/java)。

3、執行命令 ./ jdk-6u29-linux-i586.bin 執行該檔案

4、修改環境變數 在/etc/profile 檔案末尾添加如下幾行:

 

5、執行source /etc/profile命令使之生效。

6、執行 java –version

 

出現 java version 1.6.0_29即可。確保當前JDK版本為1.6.0

註:/etc目錄下environment profile bashrc的區別詳情見:

http://blog.csdn.net/chenchong08/article/details/7833242。

7、安裝編譯所需的包。

執行apt-get install git-core gnupg flex bison gperf build-essential

apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev

apt-get install libglapi-mesa-dev

apt-get install libx11-dev:i386

apt-get install libreadline6-dev:i386

apt-get install libgl1-mesa-glx:i386

apt-get install libgl1-mesa-dev

apt-get install g++-multilib mingw32

apt-get install tofrodos

apt-get install  python-markdown

apt-get install libxml2-utils

apt-get install xsltproc

apt-get install zlib1g-dev:i386

 

8、安裝repo

執行如下命令

apt-get install curl

apt-get install git

在/home/pc目錄下建立android檔案夾用於儲存android源碼和repo

執行如下命令:

mkdir /home/pc/android/android4.0 將源碼儲存在android下

在/etc/profile/最後添加如下代碼

export PATH=$PATH:/home/pc/android

source /etc/profile

執行如下命令:

cd /home/pc/android

下載repo並修改許可權

curl http://git-repo.googlecode.com/files/repo-1.13 >/home/pc/android/repo

chmod a+x repo

 

9、下載android源碼

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

在執行過程中需要輸入使用者名稱和郵箱

執行命令:

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

(註:android版本參考:https://android.googlesource.com/platform/manifest/+refs)

 

 

執行命令:

repo sync

 

10、編譯源碼

進入源碼目錄下執行如下命令:

make showcommands 這樣可以顯示編譯命令,使得編譯的時候,螢幕沒有輸出的時候,不會感覺無聊嗎

遇到的錯誤及解決方案:

ERROR:   /bin/bash: line 2: javadoc: command not found

解決方案:執行:ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javadoc /bin/javadoc

順便可以做一下軟串連,不然還會遇到類似錯誤:

ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/jar /bin/jar

ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/java /bin/java

ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javah /bin/javah

ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javac /bin/javac

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.