1.獲取Android源代碼
Android官網給出了從網上下載源代碼的方法,具體流程如下網址所示:http://source.android.com/source/downloading.html
按照上面的方法,我寢室10M的網,一晚上不知道下載了多少,每次repo sync都感覺會和服務器斷開連接,然后果斷放棄了從官網下載源代碼的想法,直接在網上下載別人已經下載好的代碼:http://115.com/lb/5lbqyjx7
2.安裝編譯需要的工具
官網給的流程,可以參考一下:http://source.android.com/source/initializing.html
JDK
貌似很早之前Ubuntu里面的JDK就被換成了open-jdk,試了下官網給的方法:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
結果不怎么給力,好像也安裝不了,記得以前可以的...直接去oracle網站下載JDK,現在一進入下載就只有JDK1.7的,找了一下JDK1.6的下載地址,如下:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR,我記得我當時下載是單獨注冊了一個賬號的,沒有賬號不讓下載,太TM坑爹了。
有了安裝bin安裝文件,我是直接放在我的用戶目錄下面的,然后執行:
$chmod +x jdk-6u45-linux-x64.bin
$./jdk-6u45-linux-x64.bin
執行后會在用戶目錄里面生成jdk目錄:/home/chadm/jdk1.6.0_45。然后配置Java環境,執行命令:
~$ sudo gedit /etc/profile
在文件尾加上:
export JAVA_HOME=/home/chadm/jdk1.6.0_45
export JRE_HOME=/home/chadm/jdk1.6.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存文件,然后執行:source /etc/profile。
運行java -version和javac -version
安裝需要的包
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/libGL.so
直接復制運行會出現如下錯誤:
下列軟件包有未滿足的依賴關系:
libgl1-mesa-glx:i386 : 依賴: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
推薦: libgl1-mesa-dri:i386 (>= 7.2)
E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系
將里面的libgl1-mesa-glx:i386修改為 libgl1-mesa-dri:i386,運行后可以正常安裝
3.編譯Android源代碼
官網給的文檔 http://source.android.com/source/building-running.html
運行如下指令:
. build/envsetup.sh
lunch full-eng
make -j4
編譯的時候出現問題了,提示使用make update-api,然后再使用make -j4