標籤:android http io ar os 使用 sp java strong
1.準備:
普通PC(要求能上網), PC的作業系統Ubuntu 10.04 LTS(64位的),已經下載好的Android 1.6_r1的原始碼。
2.Linux的依賴package安裝:
為了更快的下載和安裝包,請首先修改Ubuntu10.04的更新源,修改步驟如下:
在終端中運行:
$ sudo gedit /etc/apt/sources.list
將開啟文字編輯器,修改原始伺服器的列表,這裡使用網易的源,
地址如下:摘自網路
deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ lucid-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ lucid-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ lucid-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ lucid-updates universe main multiverse restricted
儲存後關閉。
運行:
$ sudo apt-get update
更新本地的源地址清單。
接下來可以安裝編譯時間所需要的包了。
研究發現32位和64位ubuntu的源地址是一樣的。
要想編譯Android原始碼,要安裝編譯所需的依賴包,以下給出安裝包的命令(其實是在官網上抄的):
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
GCC的版本太高,應從4.4降到4.3.
安裝GCC4.3
$ sudo apt-get install gcc-4.3
$ sudo apt-get install g++-4.3
等同上兩句命令的意思:
$ sudo apt-get install gcc-4.3 g++-4.3
安裝完畢後,設定預設GCC的版本。
進入目錄:/usr/bin/
$ sudo ln -s /usr/bin/gcc-4.3 gcc
$ sudo ln -s /usr/bin/g++-4.3 g++
安裝GCC相關的依賴包:
$ sudo apt-get install gcc-4.3-locales gcc-4.3-multilib libmudflap0-4.3-dev \
gcc-4.3-doc libgcc1-dbg libgomp1-dbg \
libmudflap0-dbg g++-4.3-multilib gcc-4.3-doc \
libstdc++6-4.3-dbg libstdc++6-4.3-doc
查看是不是有/usr/lib32/mesa/libGL.so此檔案,如果沒有
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
到此,依賴包安裝的差不多了,安裝速度,要看網路的下載速度。因為整個過程是先下載再安裝。
重複執行安裝命令,可以查看依賴包是不是安裝成功。
3.Linux下JDK的安裝。
首先要去oracle官網上下載jdk去。我已經下載了,使用的是“jdk-1_5_0_22-linux-amd64.bin”。
聽說:Android的版本小於等於2.2用JDK1.5,版本大於等於2.3用JDK1.6
建立java的安裝目錄
$ cd /usr/local/
$ sudo mkdir java
將安裝檔案“jdk-1_5_0_22-linux-amd64.bin”,複製到建立的目錄下
進入/usr/local/java/目錄
給“jdk-1_5_0_22-linux-amd64.bin”檔案增加執行許可權。
$ sudo chmod 777 jdk-1_5_0_22-linux-amd64.bin
運行安裝:
$ sudo ./jdk-1_5_0_22-linux-amd64.bin
會出現安裝協議,要輸入一個yes,同意安裝。等一小會兒,安裝成功。
會出一個jdk1.5.0_22的目錄,表示已經安裝完成。
環境變數:
返回使用者目錄:cd ~
修改用目前使用者的設定檔:
$ vi .bashrc
在.bashrc中末尾處加入:
export JAVA_HOME="/usr/local/java/jdk1.5.0_22"
PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=".:$JAVA_HOME/bin"
第一句意思:是建立一個名稱為“JAVA_HOME”的環境變數,第二句,在環境變數“PATH”的末尾增加java的安裝目錄路徑(指定javac的路徑)。第三句,建立一個名稱為“CLASSPATH”的環境變數。
編輯後 :wq 儲存退出。
執行命令:
$ source .bashrc
環境變數生效。
或者把Terminal(終端)關閉,重新開啟。
查看jdk的版本。
$ java -version
4.編譯android原始碼,升成SDK:
將android的源碼複製到Ubuntu的使用者主目錄下,
進入android源碼的根目錄,
運行下命令編譯環境初始化:
$ . build/envsetup.sh
注意有個點,或使用:
$ source build/envsetup.sh
選擇編譯項:
$ lunch sdk-eng
開始編譯:
$ make sdk
編譯完成後,out/target/product/generic目錄下產生system.img、ramdisk.img、userdata.img
完畢。
Android 源碼編譯環境搭建(64位Ubuntu)各種依賴包安裝