Ubuntu 8.04下編譯Android源碼全過程(2)

二、源碼編譯

全部同步完畢後,進入到Android目錄下,使用make命令編譯,你會發現出現如下錯誤提示:

host C: lieo_cgi <= external/clearsilver/cgi/cgi.c

external/clearsilver/cgi/cgi.c:22:18: error: zlib.h: No such file or directory

這個錯誤是因爲我們缺少zlib1g-dev,需要使用apt-get命令從軟件倉庫中安裝,如下:

sudo apt-get itall zlib1g-dev

同理,我們還需要依次安裝如下軟件

sudo apt-get itall flex

sudo apt-get itall bison

sudo apt-get itall gperf

sudo apt-get itall lidl-dev

sudo apt-get itall libesd0-dev

sudo apt-get itall licurses5-dev

sudo apt-get itall libx11-dev

以上軟件全部安裝完畢後,運行make命令再次編譯Android源碼。

這個時候你會發現出現很多java文件無法編譯的錯誤,打開Android的源碼我們可以看到在android/dalvik/libcore/dom/src/test/java/org/w3c/domts下有很多java源文件,這意味着編譯Android之前需要先安裝JDK。

首先從sun官方網站下載jdk-6u16-linux-i586.bin文件並安裝它。

在Ubuntu 8.04中,/etc/profile文件是全局的環境變量配置文件,它適用於所有的shell。在我們登陸Linux系統時,首先啓動/etc/profile文件,然後再啓動用戶目錄下的~/.bash_profile、~/.bash_login或~/.profile文件中的其中一個,執行的順序和上面的排序一樣。如果~/.bash_profile文件存在的話,一般還會執行~/.bashrc文件。

所以我們只需要把JDK的目錄放到/etc/profile裏即可,如下:

JAVA_HOME=/usr/local/src/jdk1.6.0_16

PATH=$PATH:$JAVA_HOME/bin:/usr/local/src/android-sdk-linux_x86-1.1_r1/tools:~/bin

然後重新啓動一下機器,輸入java –version命令,提示如下信息代表配置成功:

java version "1.6.0_16"

Java(TM) SE Runtime Environment (build 1.6.0_16-b01)

Java Hotot(TM) Client VM (build 14.2-b01, mixed mode, sharing)

在編譯完整個項目後,終端會出現如下提示:

Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img

Itall system fs image: out/target/product/generic/system.img

Target ram disk: out/target/product/generic/ramdisk.img

Target userdata fs image: out/target/product/generic/userdata.img

Italled file list: out/target/product/generic/italled-files.txt

root@dfsun2009-desktop:/bin/android#

三、源碼運行

在編譯完整個項目後,如果我們需要觀看編譯後的運行效果,那麼就需要在系統中安裝模擬器android-sdk-linux_x86-1.1_r1,這個SDK的下載地址爲:

linux: http://dl.google.com/android/android-sdk-linux_x86-1.1_r1.zip

mac: http://dl.google.com/android/android-sdk-mac_x86-1.1_r1.zip

windows: http://dl.google.com/android/android-sdk-windows-1.1_r1.zip

解壓後需要把/usr/local/src/android-sdk-linux_x86-1.1_r1/tools目錄加入到系統環境變量/etc/profile中。

然後找到編譯後android的目錄文件out,我們發現在android/out/host/linux-x86/bin下多了很多應用程序,這些應用程序就是android得以運行的基礎,所以我們需要把這個目錄也添加到系統PATH下,在$HOME/.profile文件中加入如下內容:

PATH=”$PATH:$HOME/android/out/host/linux-x86/bin”

接下來我們需要把android的鏡像文件加載到emulator中,使得emulator可以看到android運行的實際效果,在$HOME/.profile文件中加入如下內容:

ANDROID_PRODUCT_OUT=$HOME/android/out/target/product/generic

export ANDROID_PRODUCT_OUT

然後重新啓動機器。

下面就可以進入到模擬器目錄中並啓動模擬器

cd $HOME/android/out/target/product/generic

emulator -image system.img -data userdata.img -ramdisk ramdisk.img

總結一下安裝過程中的關鍵點:

1、JDK版本必須安裝

2、利用下面的命令確保所需軟件都被正確安裝。

sudo apt-get itall flex bison gperf lidl-dev libesd0-dev libwxgtk2.6-dev build-eential python valgrind curl git。

3、內存及虛擬內存保證在2GB以上,可以採用命令行free -m查看內存是否足夠,如果內存不夠終端停滯。


發佈了24 篇原創文章 · 獲贊 13 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章