02, 在ubuntu 環境中,準備Android 原始碼的編譯環境

02, 在ubuntu 環境中,準備Android 原始碼的編譯環境

 設定編譯的環境

可以參考官方google 的文件資料,上面教你如何下載 Android Source Code

http://source.android.com/source/download.html

請看在 Initializing a build environment 這裡
有教你怎麼設定好你的環境,如果嫌字太多,你接下去文章,看柯老師如何設定相關的環境。

編譯需要安裝

  • Python 2.4 -- 2.7,
  • JDK 6 ; JDK 5
  • Git 1.5.4 or
  • (optional) Valgrind,

安裝

在新的版本中,預設 apt 都是裝 JDK6,而ubuntu 11.04 内建的是 JDK 1.6.22

但是Android 是需要有JDK5, google 說要用 JDK5 來編android

所以增加一下

請把 Terminal 打開,在"Applications->Accessories-> Terminal" 中

安裝JDK6

如果你的ubuntu 沒有 jdk6 ,可以用java -version 來查看
[php]
java -version
[/php]
如果沒有的話,請用下面的指令。
[php]
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" 
$ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
$ sudo apt-get update 
$ sudo apt-get install sun-java6-jdk
[/php]

"$" 在 linux 的意思是  shell 上的指令,實際在用的時候,可不要把"$" 打到  Terminal 的指令中。



安裝JDK5

[php]

<code>$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper main multiverse" </code>
<code>$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu dapper-updates main multiverse" </code>
<code>$ sudo apt-get update </code>
<code>$ sudo apt-get install sun-java5-jdk</code>

[/php]

讓apt更新一下

[php]

sudo apt-get update

[/php]

現在可以裝 JDK5 了

[php]

sudo apt-get install sun-java5-jdk sun-java5-plugin

[/php]


柯老師的碎碎念時間:
Q:在這畫面上,如何按下<OK>鍵?

A:請用tab鍵跳到 "ok" 鍵上,然後 enter 鍵

好了,如果都順利的話,請把下面這一段給忽略,直接跳到 "安裝git"
如果你的ubuntu 是用 11.04 或 10.10

注意看,如果你不想像柯老師我浪費二天的時間來找答案,如何安裝jdk5的話,

請看下文
,安裝JDK5 就不能像google 官方所說的,請改成

[php]
$ sudo add-apt-repository "deb http://us.archive.canonical.com/ hardy multiverse"
$ sudo add-apt-repository "deb-src http://us.archive.canonical.com/ubuntu hardy-updates multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk
[/php]

请安装完畢後,用下面的方法確認一下。

[php]
java -version
[/php]

[php]
sudo update-java-alternatives -l
[/php]

安裝git


接下來我們在按造 google 步驟

[php]
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
[/php]

你有可能用 valgrind 來找安全性問題,我們有裝一下

[php]
sudo apt-get install valgrind
[/php]

練習:

寫一個簡單的java 語言

[php]
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
[/php]

進階:

其實安裝 jdk5 的時候,我花了很多時間,主要是

http://archive.ubuntu.com/ubuntu dapper main multiverse
找不到的問題,產生 404的問題,
我的解決方法是

方法一:

deb http://us.archive.ubuntu.com/ubuntu jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu jaunty-updates multiverse
用解決,

方法二:

1. 以root身份登录系统 

2. 到java.sun.com去下载JDK1.5.0 for LINUX的rpm. 应该是个jdk-1_5_x-rc-linux-i586-rpm.bin的文件 

3.通过chmod +x jdk-1_5_x-rc-linux-i586-rpm.bin命令使其获得可执行权限 

4.通过 sh jdk-1_5_x-rc-linux-i586-rpm.bin来进行安装 

5.安装完毕,JDK安装在/usr/java/目录下 

6.设置环境变量(写入/etc/profile中) 

export JAVA_HOME = /usr/java/jdk1.5 
export PATH = $PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 
export CLASSPATH=.:/usr/java/jdk1.5/lib:/usr/java/jdk1.5/jre/lib:$CLASSPATH 

okay了键入 java -version 如果出现相关JDK版本信息,证明成功.

參考資料:

網站參考資料:

  • 官方的安裝文件  http://source.android.com/source/initializing.html
  • 安裝 jdk1-5 版本  http://wenson.iteye.com/blog/65292
  • java hellworld 程式 http://download.oracle.com/javase/tutorial/getStarted/cupojava/unix.html

vi使用方法:

剛剛的

[php]
add-apt-repository "deb http://xxxxx/xxxx dapper main multiverse"
[/php]

主要的功能是把
"deb http://xxxxx/xxxx dapper main multiverse" 寫入/etc/apt/sources.list 這一個檔案你可以用編輯工具來看這個檔案
用此工具編輯  vi  編輯這一個檔案 /etc/apt/sources.list

[php]
sudo vi /etc/apt/sources.list
[/php]

如果你對vi 不是和熟悉的話,可以參考柯博文老使寫的vi 的使用文章

其實柯老師我比較喜歡用另一個編輯工具 gedit 來編輯,因為比較像是 windows 的"記事本"

[php]
sudo gedit /etc/apt/sources.list
[/php]


Android 系統底層
CH01 簡介CH02 安裝CH03 編譯系統CH04 編譯程式的QACH05 系統軟體CH06 JNICH07 APP呼叫Android Driver教學CH30 DRM