Android 源碼編譯環境搭建(64位Ubuntu)各種依賴包安裝

來源:互聯網
上載者:User

標籤:android   http   io   ar   os   使用   sp   java   strong   

1.準備:

普通PC(要求能上網), PC的作業系統Ubuntu 10.04 LTS(64位的),已經下載好的Android 1.6_r1的原始碼。

2.Linux的依賴package安裝:

為了更快的下載和安裝包,請首先修改Ubuntu10.04的更新源,修改步驟如下:

在終端中運行:

 $ sudo gedit /etc/apt/sources.list

   將開啟文字編輯器,修改原始伺服器的列表,這裡使用網易的源,

   地址如下:摘自網路

deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse

deb-src http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse

deb http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted

deb http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted

deb-src http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted

  儲存後關閉。

運行:

$ sudo apt-get update

更新本地的源地址清單。

接下來可以安裝編譯時間所需要的包了。

研究發現32位和64位ubuntu的源地址是一樣的。

要想編譯Android原始碼,要安裝編譯所需的依賴包,以下給出安裝包的命令(其實是在官網上抄的):

$ sudo apt-get install git-core gnupg 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

GCC的版本太高,應從4.4降到4.3.

安裝GCC4.3

$ sudo apt-get install gcc-4.3

$ sudo apt-get install g++-4.3

等同上兩句命令的意思:

$ sudo apt-get install gcc-4.3 g++-4.3

安裝完畢後,設定預設GCC的版本。

進入目錄:/usr/bin/

$ sudo ln -s /usr/bin/gcc-4.3 gcc

$ sudo ln -s /usr/bin/g++-4.3 g++

安裝GCC相關的依賴包:

$ sudo apt-get install gcc-4.3-locales gcc-4.3-multilib libmudflap0-4.3-dev \

  gcc-4.3-doc libgcc1-dbg libgomp1-dbg \

  libmudflap0-dbg g++-4.3-multilib gcc-4.3-doc \

  libstdc++6-4.3-dbg libstdc++6-4.3-doc

查看是不是有/usr/lib32/mesa/libGL.so此檔案,如果沒有

$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

到此,依賴包安裝的差不多了,安裝速度,要看網路的下載速度。因為整個過程是先下載再安裝。

重複執行安裝命令,可以查看依賴包是不是安裝成功。

3.Linux下JDK的安裝。

首先要去oracle官網上下載jdk去。我已經下載了,使用的是“jdk-1_5_0_22-linux-amd64.bin”。

聽說:Android的版本小於等於2.2用JDK1.5,版本大於等於2.3用JDK1.6

建立java的安裝目錄

$ cd /usr/local/

$ sudo mkdir java

將安裝檔案“jdk-1_5_0_22-linux-amd64.bin”,複製到建立的目錄下

進入/usr/local/java/目錄

給“jdk-1_5_0_22-linux-amd64.bin”檔案增加執行許可權。

$ sudo chmod 777 jdk-1_5_0_22-linux-amd64.bin

運行安裝:

$ sudo ./jdk-1_5_0_22-linux-amd64.bin

會出現安裝協議,要輸入一個yes,同意安裝。等一小會兒,安裝成功。

會出一個jdk1.5.0_22的目錄,表示已經安裝完成。

環境變數:

返回使用者目錄:cd ~

修改用目前使用者的設定檔:

$ vi .bashrc

在.bashrc中末尾處加入:

export JAVA_HOME="/usr/local/java/jdk1.5.0_22"

PATH=$PATH:$JAVA_HOME/bin

export  CLASSPATH=".:$JAVA_HOME/bin" 

 

第一句意思:是建立一個名稱為“JAVA_HOME”的環境變數,第二句,在環境變數“PATH”的末尾增加java的安裝目錄路徑(指定javac的路徑)。第三句,建立一個名稱為“CLASSPATH”的環境變數。

編輯後 :wq 儲存退出。

執行命令:

$ source .bashrc

環境變數生效。

或者把Terminal(終端)關閉,重新開啟。

查看jdk的版本。

$ java -version 

4.編譯android原始碼,升成SDK:

將android的源碼複製到Ubuntu的使用者主目錄下,

進入android源碼的根目錄,

運行下命令編譯環境初始化:

$  . build/envsetup.sh 

注意有個點,或使用:

$ source build/envsetup.sh

選擇編譯項:

$  lunch sdk-eng 

開始編譯:

$  make sdk

編譯完成後,out/target/product/generic目錄下產生system.img、ramdisk.img、userdata.img

完畢。

Android 源碼編譯環境搭建(64位Ubuntu)各種依賴包安裝

聯繫我們

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