安卓:工具之道

chris發表於2014-08-15

前言

當你打算踏入安卓領域並著手開發你的第一款安卓程式的時候,很容易就會被一大堆的開發工具所困擾。但事實上,直接下載Android官方提供的開發環境是最快的方式。感謝便捷強大的bundles,它整合了我們需要的所有開發工具。

使用這個bundles整合環境唯一不好的是其中的軟體更新比較慢,還有就是可能會對其中的每個軟體工具的作用不太瞭解。

本文會揭示開發Android程式所需要用到的主要開發工具,對於那些想要強化自己的Android專案的人,本文也會提供一個對Google Play Services的簡單介紹,你可以往自己的APP中加入Google+和Google Maps的一些功能,而且這也是一個能讓你的APP賺錢的一種方式。(注:選擇工具的同時,也要選擇好對應的教程和書籍,推薦這篇文章《Android開發之旅:書籍、教程、工具和各種乾貨!》)。

然而,在你安裝安卓開發工具之前,你首先要決定到底使用什麼IDE作為開發環境。

1、使用Eclipse還是Android Studio?

直到目前為止,Eclipse加上ADT外掛仍然是比較推薦的開發環境,而Google在2013 I/O大會上釋出了自己的IDE環境,叫Android Studio,專門為Android開發而設計。

Android Studio的釋出使得Android開發者的心情更復雜了,他們必須對兩個IDE權衡利弊,決定哪一個更適合自己。

選擇Android Studio還是Eclipse關鍵是要看你想在IDE中尋求什麼。

使用專一功能還是功能豐富的IDE?

Eclipse提供了一個通用的開發環境,可以使用外掛的形式擴充套件,讓你可以使用同一個IDE,不同的程式語言進行程式開發。

對於安卓開發來說,Eclipse使用ADT進行擴充套件,雖然ADT是為安卓開發而設計的,但是Eclipse卻有很多與開發安卓APP無關的一些特性。

如果你是一個有經驗的Eclipse使用者,那麼對於你來說,已經熟悉了Eclipse的複雜強大的使用者體驗,這是一個很好的優勢。但是如果你剛接觸Eclipse,那麼你就要花點時間想想看作為一個安卓開發者,你需要什麼,什麼才是好的使用者體驗。

這就是Android Studio相對於Eclipse的優勢所在了,Android Studio有一個簡單的使用者體驗和一系列的特性,但是所有特性都是為開發Android APP而準備的。

選擇開發社群成熟的還是獨立發展的IDE?

Eclipse是一個成熟的IDE,它擁有一個強大的社群支援,這就意味著當你需要幫助的時候,你不會無處可尋,比如部落格,學習指南,Google小組,視訊教程,還有論壇,或者Eclipse、ADT的擴充套件文件等。

相比Android Studio,這方面對比就非常鮮明,作為一個新的專案來說,Android Studio還沒有時間去簡歷一個類似的完善的社群系統。儘管一些基於Eclipse的資源也可以在Android Studio中使用,但是如果是針對Android Studio的特定問題的話,這些資源也就沒有什麼用了。

要穩定性還是新技術?

作為一個成熟的IDE,Eclipse是一個穩定可靠的軟體,而Android Studio當前只是預覽版,而且還帶有免責宣告,不保證開發過程中不會遇到bug和缺失一些特性。

Android Studio擁有很多新特性,正如你所期待的嶄新的IDE那樣,但是因為出現太晚,也就顯得不夠成熟了。這需要根據你自身的情況來考慮,但是如果沒有Android Studio的釋出將會是一個大遺憾。假如你只是開發自己的小型個人專案,那倒無所謂。但是如果你在尋找一款IDE來開發一個商業專案並且冒著巨大的商業風險的話,那新來的Android Studio也許還不是一個很好的選擇。

你對Gradle熟悉嗎?

Android Studio內部使用Gradle外掛,最終也是用它進行自動編譯,測試,釋出還有部署Android APP。

如果你對Gradle還不熟,或者還不想花精力去學Gradle,那麼你還是去用Eclipse吧,因為Gradle和Android Studio整合度很高,你很難去使用別的編譯工具。

總結

選擇Android Studio還是Eclipse這個沒有確切的答案,這取決於個人喜好,比如對軟體的熟悉程式,還有學習新技術的成本,以及你想開發什麼樣的應用等等。

例如,如果你的時間很多,也願意學習新的技術的話並喜歡Gradle的話,也許Android Studio更適合你。而如果你是一個有經驗的Eclipse使用者,並且時間很少,也沒有太多精力去熟悉一個新的IDE的話,那麼,Eclipse將是你的最好選擇了。

不管是使用Android Studio還是Eclipse,只要配帶ADT外掛,只要使用了整合化的bundles,這些工具其實都差不多,以Android SDK著稱。

2、什麼是Android SDK?

Android SDK中包含了各種開發Android APP基本的工具,從類庫到原始碼,示例工程還有很多。詳細瞭解Android SDK已經超過了本文的範圍,不過有部分工具對於開發Android APP來說是基本的,我們需要儘可能快的瞭解它們。

模擬器

Android SDK中包含了一個Android裝置模擬器,可以讓你測試Android程式,而不用特地去買一個Android裝置。正如其名,Android的模擬器可以通過建立不同的AVD(Android Virtual Device)來模擬各種Android真實的裝置,在開發Android專案的過程中,我們會建立各種AVD,來模擬各種不同的Android裝置。

AVD管理器

AVD 管理器是你要建立,編輯,修改,刪除和執行AVD的東西,AVD管理器中定義了一堆的已知的裝置,方便選擇進行Android真實裝置的模擬,但是不清楚它內部的硬體、軟體詳情。

SDk管理器

SDK管理器會對工具,平臺,API還有其它一些元件進行分離,劃分到不同的資料夾中,我們可以通過SDk管理器對這些工具進行下載。很多資料夾的工具是必須的,甚至是在下載SDK的時候就會自動安裝的,但是也有很多工具是可選的,如果你只想開發具體的某一種Android程式,那麼可以單獨選擇進行下載。

DDMS

DDMS,即Dalvik Debug Monitor Server,它是一個除錯工具,可以進行各種除錯任務,比如跟蹤當前執行緒中的記憶體物件,檢視當前程式中使用的記憶體大小等。

DDMS中還包含了一個Detailed Network Usage選項,可以記錄程式中的網路請求,分析APP怎麼傳遞資料。儘管Android Studio和Eclipse的DDMS有差不多,但是開啟方式不一樣,Eclipse可以通過選擇Window>Open Perspective>DDMS開啟,而Android Studio可以點選工具欄中的Monitor按鈕(按鈕帶有清晰的安卓圖示)。

Lint工具

Lint是一個程式碼檢查工具,可以通過檢查原始檔的bug和可以優化的地方,幫助你改善程式碼質量。

儘管Lint已經包含在Android的SDK中,但是怎麼執行起來取決於你使用Android Studio還是Eclipse。在Android Studio裡面,你可以通過Analyze>Inspect Code來執行Lint。在Eclipse中,Lint是自動執行的,只要你更改專案,比如更改xml佈局檔案或者在匯出專案的時候都會自動執行。

adb(Android Debug Bridge)

adb是一個很出名的工具,它可以讓你通過輸入一些命令來操作很多除錯任務,可以在安卓的官方文件中找到adb的命令表。

不管是使用Android Studio還是使用Eclipse,以上說的這些工具都是必需的,而剩下的一些工具,就要根據你使用的IDE決定了。

3、Eclipse開發工具包

先不和Android Studio對比,Eclipse配合ADT外掛為開發者提供了很多很多便利,你可以下載整合化的bundles環境,裡面就包括了SDK還有以下的一些工具。

Eclipse

這是可以通過外掛擴充套件來定製化的通用開發環境。

ADT外掛

Android Development Tools外掛進一步擴充套件了Eclipse開發環境,使之帶有Android開發特色,其中包括專案建立嚮導,它可以自動生成Android專案的基本檔案結構,還有自定義的XML編輯器可以檢查你的資原始檔盒manifest檔案是否正確。

ADT外掛還能夠為很多SDK工具提供一個視覺化的使用者體驗,當然也可以使用命令列工具,比如之前討論過的ADB和DDMS。

安裝帶有ADT的Eclipse作為開發環境是最直接的步驟:

  1. 首先要下載ADT bundle
  2. 下載完成後,解壓ADT壓縮包
  3. 解壓後開啟它,它以adt-bundle命名,後面跟著版本號
  4. 開啟Eclipse的資料夾,雙擊Eclipse應用圖示啟動Eclipse程式
  5. Eclipse所有專案都存在workspace中,在Windows裡,預設在 C:\Users\Name\Documents\workspace,可以更改,然後點選確定。

Eclipse已經整合了ADT和Android SDK,也就是說只要啟動Eclipse,就可以開始開發你的第一個Android程式了。

4、Android Studio開發工具包

儘管現在的Android Studio只是一個早期預覽版,但是它有很多不錯的特性,先不討論Google官方有沒有推薦。如果你下載了Android Studio的bundle整合環境,那麼你相當於就有了Android的SDK和以下的開發元件。

Android Studio

在整合開發環境領域,Android Studio是唯一一個專為開發Android APP打造的IDE。

Gradle

Android Studio帶有一個內建的Gradle外掛,使用它作為自身的構建系統。我們可以使用Gradle進行自定義,配置,擴充套件我們的專案構建流程,並解決本地檔案、遠端倉庫之間的依賴關係。

Gradle可以從一個Android專案中生成儘可能多的apk去相容不同的裝置。

如果你決定使用Android Studio的話,可以從安卓的開發網站上下載最新的版本,在Windows上,可以直接執行Android Studio程式,然後就可以開發Android APP了。

5、Google Play服務

本文已經介紹了Android SDK工具並演示了怎麼安裝不同的IDE整合環境。但是,如果你想開發一款使用者體驗豐富的APP,那麼你可可能需要為你的開發環境加入Google Play服務。

Google+

使用Google+可以豐富你的APP的內容,它可以讓你能夠提供個人的服務(從他們的Google+賬戶中拉取資訊到你的APP中),例如,你可以使用Google+的賬戶資訊根據名字去問候使用者,或者使用它們的Google+的圖片作為他們的頭像。

不僅如此,你的APP還可以推送訊息到Google+上,例如,讓使用者傳送他們在其他APP中的資料,遊戲的得分到Google+的伺服器上,然後向其他Google+的聯絡人傳送邀請。

Google Map

我們可以把谷歌地圖的內容整合到APP中,包括3D地圖,混合地圖,甚至是Google街景內容,要注意的是Google Map需要Android的API提供一個API的key,可以從Google API的管理控制檯上獲取。

Google Play的支付服務

這項服務可以讓你的APP可以通過售賣資訊內容來賺錢。這些資訊可以下載,比如是圖片或者視訊,或者其它視覺化的內容,可以是遊戲升級,解鎖新技能,或者遊戲商品(加鑽石或者增加生命值)。

Google Play會為你處理這個流程,所以你不用擔心驗證和支付這些複雜的流程,但需要注意它要求你必須擁有一個Google Play 開發者賬戶,還有Google錢包交易賬戶。你還需要安裝Google Play Billing類庫。這個可以通過執行SDK管理器,開啟Extra,選擇Google Play Billing library,然後點選安裝就可以了。

這是Google的一項可選服務,可以從這裡瞭解到關於Google Play Service的更多資訊。 official Android documentation

在使用Google Play服務之前,你需要先下載額外的包,通過以下步驟:

  1. 在IDE中開啟Android SDK管理器
  2. 展開Extras選項
  3. 選擇Google Play Service,如果你使用的是Android Studio的話,那麼你需要安裝一個Google Repository,它也可以在Extras分類中找到。
  4. 點選安裝後,SDK管理器就可以安裝Google Play服務了。

總結

不管是選擇Eclipse還是Android Studio作為IDE,你都必須對所選擇的工具的生態系統有一個不錯的理解,然後把這些工具配合IDE進行使用。

如果你已經看完本教程,那麼你的開發環境應該是已經裝好了,剩下的事就是建立第一個Android專案,然後開始你的Android開發之旅。

相關文章