歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 10.10 Compile Android Source Code

Ubuntu 10.10 Compile Android Source Code

日期:2017/2/28 16:16:58   编辑:Linux教程

1.下載安裝jdk1.5

由於Ubuntu 10.10默認沒有java的源,我們首先得找到java的源。

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
如果之前安裝了jdk1.6。可以設置配置選項。
update-alternatives --install /usr/bin/jdk jdk /root/jdk1.5.22 255
/usr/bin/jdk是符號鏈接,它指 向/etc/alternatives/jdk(由第2個參數 給出的),/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)是 實際目的鏈接,255是優先級(任意整數, 在automatic mode自動模式 時,數字大的優先級較高,被選為默認配置選項)。
然後再為JDK1.6版生成(如果有JDK1.6的話):
update-alternatives --install /usr/bin/jdk jdk /root/jdk1.6.20 0
這樣,默認jdk版本即為1.5版。 需要切換到1.6版時,請使用update-alternatives –config jdk
Android僅支持1.5以上版本的java sdk,且1.6版本的java sdk在進行android sdk編譯時會出現java doc錯誤,在這裡我的解決辦法時先安裝java sdk 1.6,接著安裝java sdk 1.5,然後將系統的java sdk鏈接到java sdk 1.6上,僅是將javadoc和javadoc.1.gz鏈接到java sdk 1.5上,這樣做的好處是在編譯android源碼和進行android應用開發時,使用的是java sdk 1.6,僅在編譯android sdk的doc時,使用的是java sdk 1.5版本的javadoc和javadoc.1gz。
命令如下:
$cd /etc/alternatives
$sudo rm javadoc.1.gz javadoc
$sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz
$sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc

2.降低GCC版本
由於ubuntu10.10默認安裝的是gcc最新版本。而android源碼支持在gcc4.3環境下編譯,不能將const char* 轉為char*。因此得降低版本。
安裝gcc-4.3
$ sudo apt-get install gcc-4.3 g++-4.3
修gcc相關鏈接
$ cd /usr/bin
$sudo ln -snf gcc-4.3 gcc
$sudo ln -snf g++-4.3 g++
$sudo ln -snf cpp-4.3 cpp
這樣就可以讓gcc鏈接到4.3版本了。

3.安裝其他必備組件
在終端上,使用下面的命令安裝:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip zlib1g-dev gcc-multilib g++-multilib libsdl-dev libesd0-dev libwxgtk2.6-dev
這部分配置是一些必須的庫。

4.編譯開發環境
切換到android源碼根目錄下,執行$sudo make即可。完成後鏡像生成在/root/mydroid/out/target/product/generic下:android源碼編譯後會產生system.img,ramdisk.img,userdata.img映像文件。其中,ramdisk.img是emulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數據,emulator加載這3個映像文件後,會把 system和 userdata分別加載到 ramdisk文件系統中的system和 userdata目錄下。

Copyright © Linux教程網 All Rights Reserved