去年google公司推出了android系統,今年3G又開始流行,覺得未來的好多應用會慢慢遷移到手機平臺上,於是咱也不能落後吧,就選個點跟上。
首先得選一個手機系統,目前手機平臺上有多種平臺syban的S60,iphone的OS X等待,這些系統想入手,就得看他裏面的一堆API。想在裏面大動手腳,難。於是我就看中了google開源的android系統。藉助這個開源,我想順便看看大師的手筆,研究學習這個系統來提高自己的水平。
1)準備工作——操作系統
Android系統是基於Linux內核的,所以在編譯時,也需要Linux或Mac OS環境。目前Linux版本也很多。相對我們開發人員而言使用比較方便的系統是Ubuntu Linux系統。這系統裏面包含了很多的開發工具,安裝裏也只要一行命令就可以安裝,使用也很方便。
由於對系統也不是瞭解,所以一開始就裝個虛擬機來跑ubuntu,目前最新版本是9.0.4,可以直接到官網下載(http://www.ubuntu.com.cn/),該操作系統是開源免費的。
2)準備工作——開發環境
安裝了操作系統後,就可以來進一步搭建開發環境了,編譯運行android系統需要以下幾個工具:
Git 1.5.4或更高版本 該工具主要是用於下載源碼,類似於SVN,是源碼管理工具。
JDK1.5或更高版本 最好是1.5不要用1.6,在編譯SDK裏1.6是有問題的。
flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl
大家看到這一堆的軟件就範暈了。。 這麼多,得一個個下載多麻煩。其實不用,在Ubuntu中系統內置了一個軟件列表以及自下載的鏈接,所有這些工具,只需要下面一行命令:
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
注:sudo是用管理員身份操作 “apt-get install 程序名 ”是下載並安裝程序
檢測方法:在安裝完後,檢測幾個關健程序:java -version看是不是1.5版本,運行git看是不是報程序找不到,如果沒異常,GO 下一步。
3)下載源碼
git是源碼管理工具,但如果大家使用過的話,會覺得並不方便,git是一個個項目來下的,而android中包含了N多個子項目,所以得用一個腳本來一起來。我們用的是python寫的repo程序。
$cd ~
$mkdir bin
$curl http://android.git.kernel.org/repo >~/bin/repo
$sudo chmod a+x ~/bin/repo
注:這些是將repo下載到根目錄下的bin下,然後讓repo有可執行權限。
$echo $PATH
注:查看一下~/bin目錄在不在這個PATH裏,因爲我們要在其他目錄位置執行這個repo程序,如果不在可以執行$sudo gedit ~/.bashrc 這是用文本編輯器打開配置工具,在裏面加上export $PATH=$PATH:~/bin ,然後重啓機器即可。
$mkdir mydroid
$cd mydroid
注:創建源碼目錄,可自己隨便定。
$repo init -u git://android.git.kernel.org/platform/manifest.git
注:這裏是調協repo要下載源碼的網址,設置成功後會看到一句:repo initialized in /mydroid,如果你使用的是vmware共享目錄的話,這段命令會執行不成功,會報main.py裏的一些錯誤,所以只能用虛擬機裏面的空間。
$repo sync
注:同步源碼。
完工,就慢慢等着下載吧,目前是android1.5版,源碼大約1.9G。下載過程中可能看不到有文件出現,別急,git下載裏是放到交換分區裏的,等下載完後源碼就全出現了。
4)編輯源碼
$cd mydroid
$make
$make sdk
生成會共N多時間,慢慢等待吧,在以後的修改中,可以直接make +橫塊名,不必要全部生成一遍。
在生成SDK後在out/target/product/generic中會生成system.img,ramdisk.img,userdata.img三個img文件,也就是運行模擬器需要的系統文件。
5)運行模擬器
$cd mydroid
$. /build/envsetup.sh
$lunch 1
$emulator
見圖:
6)安裝配置開發環境
下載eclipse,並安裝,這裏就不多說了。
修改eclipse.ini文件-Xms128m -Xmx512m -XX:MaxPermSize=512m
把android-formatting.xml和android.importorder導入eclipse(可選)
android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
android-formatting.xml用來配置eclipse編輯器的代碼風格;android.importorder用來配置eclipse的import的順序和結構。
在window->preferences->java->Code style->Formatter中導入android-formatting.xml
在window->preferences->java->Code style->Organize Imports中導入android.importorder
安裝anyedit插件(可選)
在http://andrei.gmxhome.de/anyedit/下載並導入eclipse中
$cp development/ide/eclipse/.classpath ./ #複製android工程文件。
$chmod u+w .classpath
啓動eclipse,設置工程路徑,可以擇存放mydroid源碼的上一級目錄
添加源碼,在eclipse新建java工程,取名主mydroid,這裏會找到目錄下己有工具,點下一步就會把源碼添加到eclipse中,如圖。
至此開發環境己OK!
7)編寫Hello World!
在eclipse中新建Hello World項目,當然是使用android project模板(如果沒有,說明前面的anyedit插件沒裝好)。
打開res/values/strings.xml在<resource>結點下修改<string name="str">Hello World Android!</string>
打開res/layout/main.xml在<textview>結點下修改:android:text="@string/str"
點擊Run
這時會彈出窗口,選擇執行的模擬器(確保模擬器先打開着),然後點確定,在模擬器界面上就會看到我們期忘已久的Hello World!
OK,到此爲止,我們已經跨出了學習Android的第一步。
參考文章:
http://source.android.com/download
http://blog.csdn.net/HKjinzhao/archive/2009/04/02/4043997.aspx
http://blog.mcuol.com/User/weishuangbo/Article/12338_1.htm