標籤:android blog http java 使用 strong
這是我在編譯android源碼時整理記錄的編譯步驟和錯誤解決方案,期間參考了一些網上的部落格和教程。
第一步:
安裝ubuntu12.04,分配一盤空間50G,2G記憶體。如果分配1G記憶體編譯時間將報錯。(我是在虛擬機器中安裝ubuntu,分配了50G空間,編譯源碼需要空間較大,建議分配50G或更多,使用wubi安裝最大隻能分配30G)。
第二步:
安裝JDK,此處選用JDK版本為JDK6-6u29 32位,下載連結http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html。下載jdk-6u29-linux-i586.bin。
1、在終端執行sudo su命令 輸入密碼進入root使用者。
2、執行將檔案jdk-6u29-linux-i586.bin複製到/usr/lib/jvm/java目錄下,(若目錄不存在則建立該目錄,建立命令為mkdir /usr/lib/jvm/java)。
3、執行命令 ./ jdk-6u29-linux-i586.bin 執行該檔案
4、修改環境變數 在/etc/profile 檔案末尾添加如下幾行:
5、執行source /etc/profile命令使之生效。
6、執行 java –version
出現 java version 1.6.0_29即可。確保當前JDK版本為1.6.0
註:/etc目錄下environment profile bashrc的區別詳情見:
http://blog.csdn.net/chenchong08/article/details/7833242。
7、安裝編譯所需的包。
執行apt-get install git-core gnupg flex bison gperf build-essential
apt-get install zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
apt-get install libglapi-mesa-dev
apt-get install libx11-dev:i386
apt-get install libreadline6-dev:i386
apt-get install libgl1-mesa-glx:i386
apt-get install libgl1-mesa-dev
apt-get install g++-multilib mingw32
apt-get install tofrodos
apt-get install python-markdown
apt-get install libxml2-utils
apt-get install xsltproc
apt-get install zlib1g-dev:i386
8、安裝repo
執行如下命令
apt-get install curl
apt-get install git
在/home/pc目錄下建立android檔案夾用於儲存android源碼和repo
執行如下命令:
mkdir /home/pc/android/android4.0 將源碼儲存在android下
在/etc/profile/最後添加如下代碼
export PATH=$PATH:/home/pc/android
source /etc/profile
執行如下命令:
cd /home/pc/android
下載repo並修改許可權
curl http://git-repo.googlecode.com/files/repo-1.13 >/home/pc/android/repo
chmod a+x repo
9、下載android源碼
repo init -u https://android.googlesource.com/platform/manifest
在執行過程中需要輸入使用者名稱和郵箱
執行命令:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.4_r1
(註:android版本參考:https://android.googlesource.com/platform/manifest/+refs)
執行命令:
repo sync
10、編譯源碼
進入源碼目錄下執行如下命令:
make showcommands 這樣可以顯示編譯命令,使得編譯的時候,螢幕沒有輸出的時候,不會感覺無聊嗎
遇到的錯誤及解決方案:
ERROR: /bin/bash: line 2: javadoc: command not found
解決方案:執行:ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javadoc /bin/javadoc
順便可以做一下軟串連,不然還會遇到類似錯誤:
ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/jar /bin/jar
ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/java /bin/java
ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javah /bin/javah
ln -s -f /usr/lib/jvm/java/jdk1.6.0_29/bin/javac /bin/javac