聲明:用的是中科大的源,起初用的代理上網,更新源時遇到一堆問題,然後換用VPN上,用的網易的源,更新時也是一對錯誤,換用中科大的源就一切ok了。
如果安裝不了sun-java6-jdk,嘗試增加新的源:
$sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
遇到第二條時出現:
Error: 'deb-src http://archive.canonical.com/ lucid partner' invalid
無視之,接著安裝java6。
1.首先安裝java環境。
sudo apt-get install git-coresudo apt-get install gnupgsudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install libsdl-devsudo apt-get install libsdl-devsudo apt-get install libesd0-devsudo apt-get install build-essentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libncurses5-devsudo apt-get install zlib1g-dev
注意最後一個是數字1。
然後
sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts sun-java6-jdk
由於在make sdk時需要的javadoc是1.5版本,所以還需要安裝sun-java5-jdk,並且只修改javadoc.1.gz和javadoc,因為只有這兩個是make sdk用到的。這樣除了javadoc工具使用1.5版本外,其他的都使用1.6版本。
首先增加源:
sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy-updates multiverse"
接著執行:
sudo apt-get updatesudo apt-get install sun-java5-jdk
然後修改javadoc的link,如下:
cd /etc/alternativessudo rm javadoc.1.gzsudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gzsudo rm javadocsudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc
弄好後輸入java-version來檢驗一下。
在linux下開發Android還需要設定環境變數:
vim ~/.bashrc
然後在bashrc中新增或整合PATH變數,例如和java程式開發/運行相關的一些環境變數,代碼如下:
JAVA_HOME=/usr/lib/jvm/java-6-sunJRE_HOME=${JAVA_HOME}/jreexport ANDROID_JAVA_HOME=$JAVA_HOMEexport CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATHexport JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/binexport JAVA_HOME;export JRE_HOME;export CLASSPATH;HOME_BIN=~/bin/export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};#echo $PATH;
最後不要忘記同步上述變化,
source ~/.bashrc
現在我們已經準備好了android源碼開發所需的環境(無錯誤),下載源碼的過程由於Android的源碼很是龐大,需要分Android源碼和核心兩部分擷取。核心部分的源碼我暫時是不用的,所以這裡只下載源碼。
我是用的root許可權做的,
cdmkdir binmkdir sourcecd bincurl https://dl-ssl.google.com/dl/googlesource/git-repo/repo >rep
出現如下情況:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 19731 100 19731 0 0 14034 0 0:00:01 0:00:01 --:--:-- 17157
如果用的是android.git.kernel.org,將會出現如下情況
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed100 244 100 244 0 0 75 0 0:00:03 0:00:03 --:--:-- 976
編譯時間出現:
./bin/repo: 行 1: 未預期的符號 `newline' 附近有語法錯誤./bin/repo: 行 1: `<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">'
現在繼續,
chmod a+x repocd ~/source../bin/repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.3_r1
中間提示輸入使用者名稱和郵箱,隨便填一個就行。
初始化完畢後出現
repo initialized in root/source開始下載:../bin/repo sync
接下來是漫長的等待,遇到中斷時,出現
error: Exited sync due to fetch errors
再執行一下../bin/repo sync就ok。