本次編譯過程主要參考官方文檔()和網上相關資料(如)
編譯環境:Ubuntu8.10
1、安裝一些環境
sudo apt-get install build-essential
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install libc6-dev
sudo apt-get install patch
sudo apt-get install texinfo
sudo apt-get install libncurses-dev
sudo apt-get install git-core gnupg
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
sudo apt-get install ncurses-dev
sudo apt-get install zlib1g-dev
sudo apt-get install valgrind
sudo apt-get install python2.5
安裝java環境
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk
註:官方文檔說如果用sun-java6-jdk可出問題,得要用sun-java5-jdk。經測試發現,如果僅僅make(make不包括make sdk),用sun-java6-jdk是沒有問題的。而make sdk,就會有問題,嚴格來說是在make doc出問題,它需要的javadoc版本為1.5。
因此,我們安裝完sun-java6-jdk後最好再安裝sun-java5-jdk,或者只安裝sun-java5-jdk。這裡sun-java6-jdk和sun-java5-jdk都安裝,並只修改javadoc.1.gz和javadoc。因為只有這兩個是make sdk用到的。這樣的話,除了javadoc工具是用1.5版本,其它均用1.6版本:
sudo apt-get install sun-java5-jdk
修改javadoc的link
cd /etc/alternatives
sudo rm javadoc.1.gz
sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz
sudo rm javadoc
sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
2、設置環境變量
vim ~/.bashrc
在.bashrc中新增或整合PATH變量,如下
#java 程序開發/運行的一些環境變量
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};
#echo $PATH;
最後,同步這些變化:
source ~/.bashrc
3、安裝repo(用來更新android源碼)
創建~/bin目錄,用來存放repo程序,如下:
$ cd ~
$ mkdir bin
並加到環境變量PATH中,在第2步中已經加入
下載repo腳本並使其可執行:
$ curl >~/bin/repo
$ chmod a+x ~/bin/repo
4、下載 android源碼並更新之
建議不要用repo來下載(android源碼超過1G,非常慢),直接在網上下載。而且解壓出來的 cupcake下也有.repo文件夾,可以通過repo sync來更新cupcake代碼:
tar -xvf cupcake.tar.gz
repo sync(更新很慢,用了3個小時)
5、編譯android源碼,並得到~/project/android/cupcake/out 目錄
進入android源碼目錄:
make
這一過程 ..
訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容