Ubuntu 10.04環境下載&編譯Android-2.2.1 (froyo) 源代碼 1/2 分享

 

文章出處:http://mantocom.blog.sohu.com/161174208.html

 

1. 前言

本文敘述瞭如何從零開始搭建基於 Google 官方 Android 2.2.1 froyo 源碼的開發環境,包括如何下載源代碼、編譯源代碼,以及在模擬器中運行編譯生成的鏡像。文中開發機是基於 Ubuntu 10.04 的,同樣適用於其他版本的 Ubuntu 現在需要弄清楚一下幾點,防止後面出現誤操作: 下載源代碼是用參數: repo init -u git://android.git.kernel.org/platform/manifest.git  -b  froyo (下載的是 2.2.1 版本,編譯環境操作系統必須 32 位的, jdk1.5 版本 ---jdk1.5 沒有 64 位版本)。如果是沒有帶參數的下載源代碼,將會下載所有的源代碼,編譯環境要求:操作系統 64 位, jdk1.6 ,(偶是 2010 10 15 做)但很有可能會出現交叉編譯工具錯誤:“ /bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: 沒有那個文件或目錄 ”(實際上是有 arm-eabi-gcc 這個文件的,偶懷疑是版本問題 --32 位的,而環境要求是 64 位的 —-- 下載全部代碼

    2. 下載 JDK 1.5 (不建議此下載方式,防止配置環境參數出錯。建議用 apt-get install 方式,請跳轉到:第 4

編譯 Android 源碼需要 JDK1.5 版(主要是需要其中的 javadoc ), 1.6 版是 不兼容的。 JDK1.5 已經停止支持,其最 終的版本是 JDK 5.0 Update 22

可從 Sun 官網上下載:

http://java.sun.com/javase/downloads/5u22/jdk

選擇平臺 Linux ,勾選同意許可協議:

單擊 Continue ,在彈出的頁面中一共有兩個下載,選第一個 jdk-1_5_0_22-linux-i586.bin 下載:

3. 部署 JDK 1.5

   3.1 解壓縮 JDK

以下命令均在 root 賬戶上執行,非 root 賬戶執行某些命令可能需要加 sudo

jdk-1_5_0_22-linux-i586.bin 放在 root 錄下。進入該目錄:

cd ~

然後賦予該 bin 文件可執行屬性:

chmod +x jdk-1_5_0_22-linux-i586.bin

再執行安裝 ( 注意前面有 ./)

./jdk-1_5_0_22-linux-i586.bin

跳過協議閱讀。

最後一行:

Do you agree to the above license terms? [yes or no]

鍵入 yes ,然後回車,開始解壓。默認會解壓到當前目錄下的 jdk1.5.0_22 目錄下(此處是 ~/ jdk1.5.0_22 )。

3.2 JDK 版本切換

  如果同時需要使用 JDK1.6 版做應用開發,則系統中將同時存在 JDK1.5 JDK1.6 因此需要實現能夠在不同版本間切換。如果不使用 JDK1.6 ,請做完 1.5 的設置後跳至 3.3 節。

這裏使用 update-alternatives 命令實現。

首先爲 JDK1.5 版生成可選配置選項:

update-alternatives --install /usr/bin/jdk jdk /root/jdk1.5.22 255

(sudo update-alternatives --install /usr/bin/jdk jdk /home/ynb/jdk1.5.0_22 255)

/usr/bin/jdk 是符號鏈接,它指 /etc/alternatives/jdk (由第 2 個參數 給出的), /root/jdk1.5.22(/home/ynb/jdk1.5.0_22) 實際目的鏈接, 255 是優先級(任意整數, automatic mode 自動模式 時,數字大的優先級較高,被選爲默認配置選項)。

然後再爲 JDK1.6 版生成(如果有 JDK1.6 的話。不使用 JDK1.6 的請跳至 3.3 ):

update-alternatives --install /usr/bin/jdk jdk /root/jdk1.6.20 0

這樣,默認 jdk 版本即爲 1.5 版。 需要切換到 1.6 版時,請使用 update-alternatives –config jdk

  3.3 配置 JDK 環境變量

下面開始配置環境變量。

在終端中執行: sudo gedit ~/.bashrc

修改 .bashrc 文件,添加下面語句:

#set java environment

export JAVA_HOME=/usr/bin/jdk

export JRE_HOME=JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

該段代碼最好設置在文件的尾部。

保存文件。在終端中執行 source ~/.bashrc

重啓系統請使用 java –version 檢查 JDK 是否 配置正確。

4. apt-get install 方式安裝 JDK1.5

Android 要求的 jdk 1.5, Ubuntu10.4 的源裏只有 JDK1.6. 如果安裝了 jdk1.6 請先卸載

$sudo  apt-get  remove  remove openjdk-6-jdk

$sudo  apt-get  remove  remove openjdk-6-jre

$sudo  apt-get  remove  remove openjdk-6-jre-headless

 

安裝 jdk1.5目前網上解決方法有兩種:
    解決方法一 ( 建議 )  安裝 JDK1.5
  
  1 根據官方文檔裏所說 ,源代碼的編譯必須使用 JDK5才能編譯的了,所以這裏偶使用 jdk5
  2 需要先更新源 ,在終端裏執行 sudo vim /etc/apt/sources.list
  3 source.list裏把以下 2行拷貝到文檔最後面:      

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

      保存退出。
  4 執行 sudo apt-get update 更新源 .
  5 配置編譯環境並下載 JDK5 sudo apt-get install sun-java5-jdk
   解決方法二:   安裝 JDK 1.6  , 修改 Android源文件。
  1 安裝 jdk 1.6,修改 <src_top/build/core/make.mk>(如果 2.0版本源碼請修改 <src_top/build/core/main.mk>)
    在文件中搜索並分別把:
      java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
      javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
    兩行改成:
      java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
      javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
    即可。
    推薦使用第一種解決方法。

5 . 安裝其他必備組件

在終端上,使用下面的命令安裝: ( 前面的 1 2 3 步驟都可以省略啦 )

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

因爲 JDK1.5 在前面已經單獨安裝過了,因此此處 apt-get install 命令行中沒有加入 sun-java5-jdk

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章