Android開發(fā)奧秘:工具IDE,SDK,谷歌服務(wù)等一網(wǎng)打盡
譯文【51CTO譯文】當(dāng)大家計(jì)劃采取行動,著手開發(fā)自己的第一款A(yù)ndroid應(yīng)用程序時,數(shù)量龐大、種類繁多的工具清單很可能成為橫亙在我們面前的第一道障礙。不過下載并準(zhǔn)備Android開發(fā)環(huán)境的過程其實(shí)并不復(fù)雜,而這要?dú)w功于便捷的一體式軟件捆綁包,它能幫助大家隨時使用大多數(shù)——即使還不是所有——開發(fā)工作中可能需要的工具。
下載并采用這種單一捆綁包的弊端在于,我們很可能搞不清楚自己的Android開發(fā)環(huán)境中包含有哪些具體工具,而且對很多朋友來說了解每款工具的實(shí)際作用也是項(xiàng)難度頗高的任務(wù)。
在今天的文章中,我們將揭開這層神秘的面紗,帶大家一同了解開發(fā)首款A(yù)ndroid應(yīng)用程序時將要用到的主流工具。對于那些希望利用額外功能對Android項(xiàng)目進(jìn)行深入強(qiáng)化的朋友來說,后文將要介紹的Google Play Services概述同樣不容錯過——大家可以利用它為自己的應(yīng)用程序添加Google+以及谷歌地圖等內(nèi)容,并真正把開發(fā)成果轉(zhuǎn)化為實(shí)際收益。
不過在匯總自己的Android開導(dǎo)得工具包之前,大家首先需要作出一個重要決定——我們到底要利用哪種集成開發(fā)環(huán)境(簡稱IDE)來打造自己的應(yīng)用程序?
1. Eclipse還是Android Studio?
直到不久之前,Eclipse與ADT(即Android開發(fā)工具)插件這一黃金組合仍然是Android應(yīng)用開發(fā)領(lǐng)域的推薦環(huán)境。不過在谷歌I/O 2013大會上,谷歌顛覆了這一切、將其專門針對Android開發(fā)工作所設(shè)計(jì)的IDE方案Android Studio呈現(xiàn)在世人面前。
Android Studio的發(fā)布讓Android開發(fā)者的生活變得更為復(fù)雜,因?yàn)榇蠹也坏貌皇紫葘纱驣DE方案進(jìn)行權(quán)衡利弊,看看如何選擇才能讓后續(xù)工作變得更為順暢。
在考慮到底使用Android Studio還是Eclipse作為自己的開發(fā)環(huán)境時,起到?jīng)Q定性作用的關(guān)鍵因素在于我們到底期望從IDE當(dāng)中得到些什么。
用戶界面注重清晰的流程還是豐富的功能
Eclipse提供的通用開發(fā)環(huán)境能夠通過插件實(shí)現(xiàn)擴(kuò)展,從而幫助大家在這同一套IDE當(dāng)中利用不同編程語言開發(fā)出多種應(yīng)用程序類型。
對于Android開發(fā)工作而言,我們可以利用Android開發(fā)工具或者簡稱ADT插件對Eclipse進(jìn)行擴(kuò)展。雖然ADT在設(shè)計(jì)思路上主要面向Android開發(fā)場景,但Eclipse卻并不是這樣——也就是說,后者當(dāng)中包含大量與Android應(yīng)用開發(fā)毫無關(guān)系的功能。
如果大家已經(jīng)是經(jīng)驗(yàn)豐富的Eclipse用戶,那么很可能已經(jīng)對Eclipse那功能豐富但卻略顯雜亂的用戶界面非常熟悉。不過如果各位才剛剛接觸Eclipse,則很可能需要花上一段時間來確定其中哪些內(nèi)容有助于自己的Android開發(fā)工作、而哪些內(nèi)容完全是在搞亂界面顯示效果。
在這方面,Android Studio相較于Eclipse擁有顯著優(yōu)勢。Android Studio擁有一套主干式用戶界面以及簡約而不簡單的功能配置,雖然在數(shù)量上相對落后、但每一項(xiàng)功能都會切實(shí)幫助各位完成Android應(yīng)用開發(fā)任務(wù)。
選擇成熟社區(qū)還是獨(dú)力單干
Eclipse是一套廣受贊譽(yù)的IDE,并擁有非常繁榮的社區(qū)體系,這意味著大家在需要幫助時可以獲得豐富而且及時的幫助信息——包括博文、教程、谷歌小組、視頻指南、論壇乃至廣泛的Eclipse ADT使用文檔。
相比之下,Android Studio在這方面則顯得比較被動。作為一個新興項(xiàng)目,Android Studio自然沒有時間建立起同樣豐富的輔助性資源。盡管一部分基于Eclipse的資源也同樣適用于Android Studio使用任務(wù),但如果大家在使用Android Studio環(huán)境時碰到比較個別的問題,那么以Eclipse為核心的信息恐怕起不到什么指導(dǎo)作用。
堅(jiān)實(shí)穩(wěn)定還是新興技術(shù)
作為一套成熟的IDE,Eclipse的軟件表現(xiàn)非常穩(wěn)定而且可靠,相比之下Android Studio目前尚處于早期預(yù)覽階段,大家很可能會在使用過程中遭遇各類錯誤以及功能缺失情況。
Android Studio擁有大家希望從全新IDE當(dāng)中獲得的全部創(chuàng)新型功能,但這一切在早期預(yù)覽狀態(tài)的拖累下變得大打折扣。根據(jù)實(shí)際情況的不同,Android Studio正式版本的缺失有可能讓我們面臨兩難選擇。如果大家打算開發(fā)的是一個小型個人項(xiàng)目,那么漏洞與功能缺失也許還不足為慮。然而,如果大家需要的是一套能夠開發(fā)出對業(yè)務(wù)拓展工作至關(guān)重要的商用Android應(yīng)用程序,那么Android Studio的早期預(yù)覽狀態(tài)意味著它恐怕不會成為最明智的選項(xiàng)。
大家對Gradle是否熟悉?
Android Studio配備有Gradle插件,也就是說只要我們選擇了這套IDE、那么最終肯定要利用Gradle對自己Android應(yīng)用程序的構(gòu)建、測試、發(fā)布以及部署進(jìn)行自動化處理。
如果大家對Gradle感到陌生或者沒時間、沒興趣學(xué)習(xí)Gradle,那么繼續(xù)選擇Eclipse這條道路可能更合適,這是因?yàn)镚radle與Android Studio的銜接如此緊密、大家要使用任何一種其它構(gòu)建工具都必然遇到極為糾結(jié)的狀況。
結(jié)論
“要Android Studio還是Eclipse?”這個問題沒有顯而易見的答案,實(shí)際選擇取決于一系列相關(guān)因素,例如大家對該軟件是否熟悉、是否有時間或者有意愿學(xué)習(xí)新技術(shù)再加上各位打算開發(fā)的Android應(yīng)用程序類型等等。
舉例來說,如果大家有時間同時樂于學(xué)習(xí)新的技術(shù)方案、同時對Gradle很感興趣,那么Android Studio的贏面顯然會大大提高。然而,如果大家已經(jīng)是一位資深Eclipse用戶,而且繁重的日常工作讓各位根本無暇涉足新IDE所設(shè)置的學(xué)習(xí)門檻,那么繼續(xù)使用Eclipse來完成開發(fā)也許是更為明智的決定。
無論大家到底是選擇Android Studio還是Eclipse與ADT插件的組合,在決定了自己的開發(fā)環(huán)境之后、接下來要面對工具集都是完全相同的——這就是Android SDK。
2. Android SDK是什么東東?
Android SDK由多種不同類型的工具所組成,從庫到源代碼再到示例項(xiàng)目等等,這一切都是創(chuàng)建Android應(yīng)用程序所必需的資源。雖然對Android SDK所提供的全部內(nèi)容作出介紹會遠(yuǎn)遠(yuǎn)超出本文的篇幅限制,但接下來我們?nèi)砸煤喍痰恼Z言概述一部分Android應(yīng)用開發(fā)所必需且大家應(yīng)當(dāng)盡快熟悉的重要工具。
模擬器
Android SDK當(dāng)中包含一款移動設(shè)備模擬器,它允許大家以多種設(shè)備平臺為基礎(chǔ)對自己的Android應(yīng)用進(jìn)行測試、同時又不必真正購買對應(yīng)的設(shè)備產(chǎn)品。
通過工具名稱就能看出,模擬器的專長在于通過運(yùn)行多種Android虛擬設(shè)備(簡稱AVD)配置方案來模擬不同各類的Android設(shè)備。在典型的Android項(xiàng)目生命周期當(dāng)中,大家需要為該模擬器創(chuàng)建一系列AVD配置,每套配置都對應(yīng)不同的Android設(shè)備。
AVD管理器
AVD管理器是我們創(chuàng)建、編輯、修復(fù)、刪除以及啟用AVD配置方案的平臺。AVD管理器還包含一套已知設(shè)備定義列表,這能大大簡化我們對尚不清楚其硬件與軟件規(guī)范的特定設(shè)備型號的模擬過程。
SDK管理器
Android SDK將各類工具、平臺、API以及其它組件獨(dú)立旋轉(zhuǎn)在不同的包當(dāng)中,允許大家通過SDK管理器對其進(jìn)行分別更新與下載。其中一些軟件包推薦使用,甚至有部分已經(jīng)在我們下載Android SDK的同時就被安裝完成了,但也有很多軟件包屬于可選方案、只適合那些在開發(fā)特定Android應(yīng)用程序時有意采用的朋友。
DDMS
Dalvik調(diào)試監(jiān)控服務(wù)器或者簡稱為DDMS是一款調(diào)試工具,能夠執(zhí)行多種調(diào)試任務(wù),例如追蹤哪些對象正被分配到內(nèi)存當(dāng)中、哪些線程正處于運(yùn)行狀態(tài)以及特定進(jìn)程正在使用哪部分堆區(qū)內(nèi)存。
DDMS當(dāng)中還包含網(wǎng)絡(luò)使用情況詳情標(biāo)簽,用于追蹤網(wǎng)絡(luò)請求并分析我們的應(yīng)用程序正如何進(jìn)行數(shù)據(jù)傳輸。盡管DDMS目前在Android Studio與Eclipse當(dāng)中都能正常發(fā)揮全部作用,但其具體訪問方式卻有所區(qū)別。Eclipse用戶可以通過Window > Open Perspective > DDMS的順序訪問DDMS,而Android Studio用戶則需要點(diǎn)擊工具欄Monitor按鈕(該按鈕配有樸素的Android圖標(biāo))進(jìn)行訪問。
Lint
Lint是一款代碼掃描工具,旨在通過檢查Android項(xiàng)目源文件中的漏洞與可資優(yōu)化的部分改進(jìn)我們編碼成果的結(jié)構(gòu)質(zhì)量。
盡管Lint被包含在Android SDK當(dāng)中,但我們在使用Eclipse與Android Studio時、對其進(jìn)行啟動的方式仍然有所區(qū)別。在Android Stuio當(dāng)中,我們可以通過選定Analyze > Inspect Code來運(yùn)行Lint。而在Eclipse方面,Lint會在我們對項(xiàng)目中的布局編輯器或者XML文件進(jìn)行修改時自動運(yùn)行。同樣,我們在導(dǎo)出項(xiàng)目時它也會加以運(yùn)行。
Android調(diào)試橋
Android調(diào)試橋也被簡稱為adb,它允許我們通過直接在命令行中輸入指令的方式執(zhí)行一系列調(diào)試操作。大家可以在官方Android說明文檔中找到adb命令的綜合列表(點(diǎn)擊此處查看)。
無論大家選擇了Android Studio還是Eclipse,都可以訪問全部前面提到的Android SDK工具。只不過根據(jù)IDE選擇的不同,其它一些可用工具包的種類可能有所區(qū)別。
#p#
3. Eclipse工具包
盡管屬于Android Studio的競爭對手,Eclipse所配備的ADT插件同樣擁有大量適用于Android開發(fā)者群體的功能。如果大家選擇Eclipse作為自己的IDE,則可以下載所有捆綁軟件包——其中包括Android SDK以及以下重要項(xiàng)目。
Eclipse
該IDE提供一套通用開發(fā)環(huán)境,大家可以利用不同插件對其進(jìn)行定制。
ADT插件
Android開發(fā)工具插件利用Android特有的功能對Eclipse環(huán)境進(jìn)行了擴(kuò)展,其中包括能夠自動生成Android應(yīng)用程序基礎(chǔ)文件結(jié)構(gòu)的項(xiàng)目創(chuàng)建向?qū)?,能夠幫助大家為資源文件及Android manifest編寫有效代碼的定制XML編輯器等等。
ADT插件還提供一套面向多種SDK工具的圖形用戶界面,允許大家利用它對很多原本只能通過命令行使用的SDK工具進(jìn)行訪問,其中包括Android調(diào)試橋以及DDMS——我們在前文中剛剛對二者進(jìn)行過闡述。
將Eclipse與ADT插件組合設(shè)置為自己的開發(fā)環(huán)境非常簡單:
- 首先下載ADT軟件包。
- 下載完成之后,解壓該軟件包。
- 解壓完成后將其打開。ADT插件的名稱為adt-bundle,接下來的數(shù)字部分視軟件包版本而定。
- 打開Eclipse文件夾并雙擊Eclipse應(yīng)用程序圖標(biāo),這樣Eclipse就將正式啟動。
- Eclipse當(dāng)中保存我們已經(jīng)創(chuàng)建的所有項(xiàng)目的位置被稱為workspace。在Windows系統(tǒng)中,其默認(rèn)路徑為C:\Users\Name\Documents\workspace。如果需要,大家可以變更這一路徑并點(diǎn)擊OK確認(rèn)。
Eclipse在啟動后,所有已經(jīng)整合的ADT插件與Android SDK也將開始運(yùn)行。這意味著在Eclipse啟動完成時,大家就可以著手創(chuàng)建自己的第一個Android應(yīng)用程序了。
4. Android Studio工具包
盡管目前尚處于早期預(yù)覽版本,Android Studio仍然擁有大量極具吸引力的功能,更不用提谷歌的大力推動了。如果大家決定下載Android Studio軟件包,則需要額外獲取Android SDK與以下附加項(xiàng)目。
Android Studio
在集成開發(fā)環(huán)境的世界中,Android Studio擁有獨(dú)一無二的定義——它在設(shè)計(jì)思路上專門也僅僅面向Android應(yīng)用程序的開發(fā)工作。
Gradle
Android Studio配備一款內(nèi)置Android插件,也就是Gradle,并利用Gradle作為其創(chuàng)建系統(tǒng)。在Android Studio當(dāng)中,大家可以利用Gradle執(zhí)行多種任務(wù),例如自定義、配置并以本地文件系統(tǒng)或者遠(yuǎn)程文件系統(tǒng)為目的地對項(xiàng)目創(chuàng)建流程進(jìn)行擴(kuò)展或者管理其關(guān)聯(lián)性。
Gradle還能夠利用單一Android項(xiàng)目中的不同配置生成多種APK,從而幫助大家讓自己的開發(fā)成果支持盡可能多的實(shí)際設(shè)備類型。
如果大家決定使用Android Studio的早期預(yù)覽版本,可以點(diǎn)擊此處從Android開發(fā)者網(wǎng)站上下載其最新版本。在Windows系統(tǒng)中,啟動可執(zhí)行文件來打開Android Studio即可開始我們的Android應(yīng)用開發(fā)之旅。
5. Google Play Services
本文已經(jīng)向大家介紹了Android SDK并說明了如何安裝并設(shè)置我們已經(jīng)選定的IDE。不過,如果大家希望能為自己的用戶帶來更為豐富的使用體驗(yàn),那么也可以將Google Play Services添加到自己的開發(fā)環(huán)境中來。
Google Play Services是一套額外的可選方案,允許大家為自己的Android應(yīng)用添加更多功能與特性。Google Play Services能夠?yàn)锳ndroid開發(fā)人員帶來諸多便利。下面我們就逐一對其進(jìn)行解讀。
Google+
利用Google+內(nèi)容讓我們的應(yīng)用程序更加豐富。Google+平臺服務(wù)能幫助我們提供更富個性化的用戶使用體驗(yàn),方法很簡單——它能夠?qū)oogle+賬戶內(nèi)的聯(lián)系人信息提取并交付給應(yīng)用程序。舉例來說,大家的應(yīng)用程序可以利用Google+信息向特定對象發(fā)送問候或者使用對方發(fā)布的Google+資料圖片作為其頭像。
除此之外,我們的應(yīng)用程序也可以將信息推送至Google+當(dāng)中。舉例來說,它允許用戶將自己的游戲最高分或者其它應(yīng)用程序內(nèi)部的成就信息發(fā)送Google+資料,或者分享給其他Google+聯(lián)系人。
谷歌地圖
在應(yīng)用程序當(dāng)中內(nèi)置谷歌地圖內(nèi)容,包括3D地圖、混合地圖甚至是谷歌街景內(nèi)容。請注意,谷歌地圖Android API要求使用API密鑰,大家可以通過Google API控制臺來獲取。
Google Play應(yīng)用程序內(nèi)購機(jī)制
這項(xiàng)服務(wù)允許大家通過自己的應(yīng)用程序銷售數(shù)字化內(nèi)容,并借此將Android項(xiàng)目成果轉(zhuǎn)化為經(jīng)濟(jì)收益。這些收費(fèi)內(nèi)容可以通過下載獲得,例如視頻、圖片或者其它虛擬內(nèi)容,當(dāng)然也可以是游戲的新關(guān)卡、解鎖新功能或者游戲內(nèi)的道具——例如寶石以及額外的生命值等等。
Google Play全權(quán)負(fù)責(zé)這些交易的進(jìn)行,因此大家不必費(fèi)心自己設(shè)計(jì)付費(fèi)驗(yàn)證與價(jià)格計(jì)算功能。請注意,應(yīng)用程序內(nèi)購機(jī)制要求我們創(chuàng)建一套Google Play開發(fā)者控制臺賬戶以及Google Wallet商家賬戶。大家還需要安裝Google Play Billing庫。聽起來復(fù)雜,但實(shí)際操作也很簡單。大家只需啟動SDK管理器、打開Extras選項(xiàng)、選擇Google Play Billing庫并點(diǎn)擊安裝軟件包即可。
這還只是Google Play Services所能提供的一部分功能。大家可以點(diǎn)擊此處查看Android官方說明文檔以了解更多與Google Play Services相關(guān)的細(xì)節(jié)信息。
Before you can take advantage of Google Play Services, you need to download an additional package. You can do this following these steps:在大家充分享受Google Play Services帶來的便利之前,首先需要下載另一個額外軟件包。我們需要遵循以下三個步驟來完成安裝。
- 在大家選定的IDE當(dāng)中打開Android SDK管理器。
- 展開Extras選項(xiàng)。
- 選擇Google Play Services。請注意,如果大家正在使用的是Android Studio,則還需要安裝Google Repository,我們可以在Extras分類下找到它。
- 在點(diǎn)擊安裝軟件包之后,SDK管理器將逐步完成Google Play Services的安裝工作。
總結(jié)
無論大家選擇了Eclipse還是Android Studio作為自己的IDE,在閱讀了本文之后應(yīng)該都對Android開發(fā)領(lǐng)域的工具系統(tǒng)有了更為準(zhǔn)確的認(rèn)識。此外,各位應(yīng)該也已經(jīng)了解了哪些工具能夠與自己的IDE匹配在一起并發(fā)揮作用。
如果大家按照本文的順序一步步操作,那么現(xiàn)在開發(fā)環(huán)境應(yīng)該已經(jīng)安裝完畢并蓄勢待發(fā)了。接下來惟一要做的就是大展拳腳,創(chuàng)建新的Android項(xiàng)目并著手進(jìn)行開發(fā)工作。
核子可樂譯
轉(zhuǎn)載請保留原文鏈接:http://mobile.51cto.com/abased-444150.htm