摘 要: 分析了Android移動(dòng)開發(fā)平臺(tái)架構(gòu)和該平臺(tái)的各個(gè)組成部分,在此基礎(chǔ)上給出了Android平臺(tái)架構(gòu)模型。鑒于Android平臺(tái)的開發(fā)環(huán)境搭建的復(fù)雜性,深入研究了其在Windows操作系統(tǒng)中的搭建過程,詳細(xì)地探討了Android應(yīng)用程序運(yùn)行所需的虛擬機(jī)創(chuàng)建和配置,為應(yīng)用程序開發(fā)做好準(zhǔn)備。
關(guān)鍵詞: Android; 平臺(tái); 應(yīng)用程序; 架構(gòu)
中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)01-32-03
Introduction to Android application development environment in Windows
Zhang Yun
(School of electronics and information engineering, Gansu Lianhe University, Lanzhou, Gansu 730000, China)
Abstract: After analyzing the Android mobile development platform architecture and the platform components, the Android platform architecture model is introduced. In view of the complexity of the Android platform development environment, the construction process in Windows is studied. The virtual machine construction and configuration needed in running Android application are discussed, preparing for developing application programming.
Key words: android; platform; application; architecture
0 引言
2007年11月5日,美國(guó)谷歌公司宣布組建了一個(gè)全球性的聯(lián)盟組織——開放手機(jī)聯(lián)盟(Open Handset Alliance),當(dāng)時(shí)共有34家終端和運(yùn)營(yíng)企業(yè)加入,主要包括一些手機(jī)制造企業(yè)、手機(jī)芯片廠商和移動(dòng)運(yùn)營(yíng)公司。該聯(lián)盟將共同開發(fā)名為Android(安卓)的移動(dòng)系統(tǒng),該移動(dòng)系統(tǒng)是開放源代碼的[1]。
市場(chǎng)上第一款支持Android的手機(jī)是由HTC(宏達(dá)電)制造并由T-Mobile供應(yīng)的G1。這款設(shè)備從設(shè)想到推出花了大約一年的時(shí)間。為了鼓勵(lì)創(chuàng)新,谷歌公司舉辦了兩屆“Android開發(fā)者大賽”,為優(yōu)勝的參賽作品提供數(shù)百萬美金的獎(jiǎng)勵(lì)。G1問世幾個(gè)月之后,就發(fā)布了Android Market,它使用戶可以瀏覽應(yīng)用程序,并且可以將應(yīng)用程序直接下載到他們的手機(jī)上。經(jīng)過大約18個(gè)月,一個(gè)新的移動(dòng)平臺(tái)進(jìn)入了公眾領(lǐng)域。
1 Android平臺(tái)架構(gòu)組成
Android系統(tǒng)架構(gòu)由五個(gè)部分組成,分別是:
⑴ LINUX KERNEL
LINUX KERNEL是一個(gè)抽象層,介于硬件和軟件之間,它隱藏了硬件上的細(xì)節(jié),為軟件提供核心的系統(tǒng)服務(wù),例如:內(nèi)存管理服務(wù)、安全服務(wù)和驅(qū)動(dòng)模型等[2]。
⑵ LIBRARIES
LIBRARIES是C與C++庫(kù)的集合,供安卓系統(tǒng)的各個(gè)組件使用,通過APPLICATION FRAMEWORK(應(yīng)用程序框架)提供給開發(fā)者。一些核心庫(kù)有系統(tǒng)C庫(kù)、媒體庫(kù)、界面管理庫(kù)、LibWebCore庫(kù)、SG庫(kù)、3D庫(kù)、FreeType庫(kù)、SQLite庫(kù)等。
⑶ ANDROID RUNTIME
ANDROID RUNTIME是指安卓的運(yùn)行,每一個(gè)安卓應(yīng)用程序是Dalvik虛擬機(jī)中的一個(gè)具體的實(shí)例,運(yùn)行在其進(jìn)程中[3]。
⑷ APPLICATION FRAMEWORK
APPLICATION FRAMEWORK指應(yīng)用程序框架,因?yàn)榘沧渴且粋€(gè)開放的開發(fā)平臺(tái),開發(fā)者可以自由地開發(fā)各種應(yīng)用程序,而且也可以完全使用核心應(yīng)用程序所使用的框架APIs。
所有的應(yīng)用程序其實(shí)是一組服務(wù)和系統(tǒng),包括視圖(View)、內(nèi)容提供者(Content Providers)、資源管理器(Resource Manager)、通知管理器(Notification Manager)、活動(dòng)管理器(Activity Manager)[4]。
⑸ APPLICATIONS
在安卓平臺(tái)上,裝配有一個(gè)核心應(yīng)用程序的集合,這些應(yīng)用程序都是用JAVA語(yǔ)言編寫的,主要有電子郵件、日歷、瀏覽器、設(shè)置、聯(lián)系人等。
2 Android架構(gòu)模型
Android平臺(tái)的架構(gòu)模型如圖1所示。
3 Windows下Android應(yīng)用程序開發(fā)
3.1 開發(fā)所需軟件和插件
在Windows下Android應(yīng)用程序的開發(fā)所需要用到的軟件和插件有以下。
⑴ JDK(JAVA development kit),JAVA開發(fā)工具包,可以在ORACLE的官方網(wǎng)站下載其最新的版本,URL:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-
1501634.html。
⑵ Android SDK(Android software development kit),Android軟件開發(fā)工具包,URL:http://dl.google.com/android/android-sdk_r16-windows.zip。
⑶ Eclipse IDE(Eclipse Integrated Development),Eclipse集成開發(fā)環(huán)境,URL:http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-win32.zip。
⑷ ADT(Android Development Tools),Android開發(fā)工具插件,URL:http://developer.android.com/sdk/eclipse-adt.html或http://dl.google.com/android/ADT-16.0.1.zip。
3.2 搭建開發(fā)環(huán)境
⑴ 安裝JDK:下載JDK后運(yùn)行jdk-6u31-windows-i586.exe安裝程序。對(duì)于初學(xué)者,可以按照安裝的默認(rèn)選項(xiàng)安裝即可。安裝成功后,出現(xiàn)圖2所示的提示界面。
⑵ 解壓Android SDK:下載到對(duì)應(yīng)的Android SDK后,將其解壓到某一個(gè)目錄中,如將SDK解壓到D盤,路徑為D:\android-sdk-windows。
⑶ 解壓Eclipse IDE: Eclipse是綠色版的,不需安裝,直接解壓就可以使用。
⑷ ADT的安裝:ADT是一個(gè)工具,它可以連接SDK和Eclipse,幫助Eclipse找到SDK。
① 安裝過程:?jiǎn)?dòng)Eclipse,選擇Help->Install New Software…,選擇圖3中的“Add…”按鈕,在彈出的對(duì)話框的Name選項(xiàng)中鍵入Android Plugin,如果是在線安裝,在Location選項(xiàng)中鍵入http://dl-ssl.google.com/android/eclipse/,如圖4所示;如果是離線安裝,則選擇“Archive…”按鈕,在彈出的文件對(duì)話框中找到ADT插件的壓縮包,選擇“OK”按鈕,然后在下面勾選Name中的選項(xiàng)即可。
② 測(cè)試ADT是否安裝成功:安裝完ADT后,重啟Eclipse,會(huì)彈出如圖5所示的對(duì)話框,選擇“Browse…”按鈕,在彈出的文件對(duì)話框中選擇Android SDK的目錄,選擇“Next>”按鈕,在之后的對(duì)話框中選擇默認(rèn)選項(xiàng),完成出現(xiàn)圖6所示的進(jìn)度條,等進(jìn)度條完成即可。之后選擇打開File->New,觀察有沒有Android Project選項(xiàng),如果有則安裝成功,如果沒有則點(diǎn)擊Other…選項(xiàng),在General選項(xiàng)下查看是否有Android選項(xiàng),如果有則安裝成功,如果沒有則安裝失敗。
⑸ AVD(Android Virtual Device,Android 虛擬機(jī))的創(chuàng)建:為了使開發(fā)的應(yīng)用程序能在其虛擬機(jī)上運(yùn)行,需先創(chuàng)建一個(gè)虛擬機(jī)。
創(chuàng)建步驟:在Eclipse中,選擇“Window”->“AVD Manager”,彈出如圖7所示的對(duì)話框,右側(cè)點(diǎn)擊“New…”按鈕,在name選項(xiàng)中給AVD取個(gè)名稱,在Target選項(xiàng)中選擇“Android 2.1-API level 7”(SDK的版本不同,該選項(xiàng)的值也不同),設(shè)定SD card大小,其他選項(xiàng)默認(rèn),最后點(diǎn)擊“Create AVD”按鈕,完成Android虛擬機(jī)的創(chuàng)建。創(chuàng)建虛擬機(jī)后,如圖8所示,選擇該虛擬機(jī),右側(cè)面板上點(diǎn)擊“Start…”->“Launch”,啟動(dòng)虛擬機(jī),如圖9所示。
至此,完成了Android應(yīng)用程序開發(fā)環(huán)境的搭建。
4 結(jié)束語(yǔ)
本文對(duì)Android的軟件架構(gòu)進(jìn)行了介紹,Android的架構(gòu)是分層的,層次非常清晰,分工很明確[5]。Android本身是一套軟件堆疊(Software Stack),或稱為“軟件疊層架構(gòu)”,疊層主要分成三層:操作系統(tǒng)、中間件、應(yīng)用程序。在軟件架構(gòu)的基礎(chǔ)上給出了其應(yīng)用程序的構(gòu)成[6]。
Android平臺(tái)本身大量使用開源庫(kù)類,為開發(fā)人員提供了一個(gè)非常便捷的開發(fā)環(huán)境,在進(jìn)行程序開發(fā)之前,應(yīng)先搭建好開發(fā)環(huán)境,因目前多數(shù)用戶使用Windows操作系統(tǒng),所以本文詳細(xì)介紹了在Windows下進(jìn)行Android開發(fā)的前期準(zhǔn)備工作。做好前期環(huán)境搭建可以推進(jìn)智能手機(jī)程序的開發(fā)進(jìn)程。
參考文獻(xiàn):
[1] 楊文志.Google Android程序設(shè)計(jì)指南[M].電子工業(yè)出版社,2009.
[2] 楊豐盛.Android應(yīng)用開發(fā)揭秘[M].機(jī)械工業(yè)出版社,2010.
[3] Ed Burnette.Android基礎(chǔ)教程[M].人民郵電出版社,2009.
[4] 王向輝,張國(guó)印,沈浩.Android應(yīng)用程序開發(fā)[M].清華大學(xué)出版社,2010.
[5] Shane Conder,Lauren Drcey.Android移動(dòng)應(yīng)用開發(fā)從入門到精通
[M].人民郵電出版社,2010.
[6] 勒巖,姚尚郎.Google Android開發(fā)入門與實(shí)戰(zhàn)[M].人民郵電出版社,2009.