鍍金池/ 教程/ Android/ Android SDK 上手指南:運行與調(diào)試
Android SDK 上手指南:Java 應(yīng)用程序編程
Android SDK 上手指南:下一步學習方向
Android SDK 上手指南:用戶交互
Android SDK 上手指南:項目清單
Android SDK 上手指南:虛擬與物理設(shè)備
Android SDK 上手指南:Activity 與生命周期
Android SDK 上手指南:示例項目
剖析 Android SDK:Android 組件詳解
Android SDK 上手指南:應(yīng)用程序數(shù)據(jù)
Android SDK 上手指南:應(yīng)用程序資源
Android SDK 上手指南:應(yīng)用程序發(fā)布
Android SDK 上手指南:應(yīng)用程序結(jié)構(gòu)
Android SDK 上手指南:知識測試(1)
Android SDK 上手指南:用戶界面設(shè)計
Android SDK 上手指南:運行與調(diào)試

Android SDK 上手指南:運行與調(diào)試

我們在本系列教程當中已經(jīng)學習了關(guān)于 Android 應(yīng)用程序開發(fā)的不少知識。在上一篇文章中,我們了解了如何將硬件與虛擬設(shè)備同 Eclipse 進行對接。

我們在本系列教程當中已經(jīng)學習了關(guān)于 Android 應(yīng)用程序開發(fā)的不少知識。在上一篇文章中,我們了解了如何將硬件與虛擬設(shè)備同 Eclipse 進行對接。而在今天的指南里,我們將探索如何通過 Eclipse 在物理設(shè)備及 Android 虛擬設(shè)備(簡稱 AVD)上進行應(yīng)用程序運行與調(diào)試。

介紹

對于一直在關(guān)注本系列 Android 應(yīng)用程序開發(fā)教程的朋友來說,首先需要強調(diào)一點:我們在之前文章中創(chuàng)建出的應(yīng)用程序暫時還沒什么實際用處,但我們可以通過它來體驗應(yīng)用的運行流程,并以此為基礎(chǔ)介紹一些非常重要的 Eclipse ADT 實用程序。隨著大家開發(fā)水平的提高,未來的新應(yīng)用必然會變得更先進也更復(fù)雜,到那時我們現(xiàn)在所介紹的調(diào)試工作將扮演極為重要的角色。在完成了今天的指南后,大家可能希望花點時間對自己創(chuàng)建的應(yīng)用作出調(diào)整,而后嘗試將其運行在物理或者虛擬設(shè)備上。掌握了這種方法,大家就可以在開發(fā)過程中定期將應(yīng)用程序半成品運行在設(shè)備之上,從而實現(xiàn)邊開發(fā)邊調(diào)試的理想效果。

1.運行

第一步

當我們在虛擬或者物理設(shè)備上編譯并運行自己的 Android 應(yīng)用時,Eclipse 會處理大部分必要的細節(jié)工作。Eclipse 以及 ADT 會為我們的應(yīng)用創(chuàng)建一個 APK 文件,同時將其安裝在我們所使用的設(shè)備上。APK 文件也就是用戶們從 Google Play 商店中所下載的應(yīng)用文件格式。不過大家還需要進行額外一些步驟來進行應(yīng)用程序的發(fā)布,這些內(nèi)容我們將在之后的教程中一一說明??傊珽clipse 會首先建立一個用于調(diào)試的 APK 文件,我們可以通過這套 IDE 將其直接運行在設(shè)備上。

相信大家已經(jīng)通過上一篇指南文章了解了如何利用相關(guān)技術(shù)啟動自己的 AVD 或者將硬件設(shè)備與計算機相連。我們將讓應(yīng)用程序運行在接入的設(shè)備之上。無論是虛擬還是物理設(shè)備,都必須滿足我們在應(yīng)用程序清單當中所指定的最低 API 級別,否則將無法正常運行應(yīng)用對象。

第二步

現(xiàn)在我們可以首先為自己的應(yīng)用程序創(chuàng)建一套運行配置方案。在 Eclipse 當中,選擇“運行”而后選擇“運行配置”。在運行配置窗口左側(cè),大家將看到可以運行的應(yīng)用程序類型清單。在其中選擇“Android 應(yīng)用程序”然后點擊上方的新建按鈕。

http://wiki.jikexueyuan.com/project/android-sdk/images/21.png" alt="" />

在打開的新配置項目當中,在名稱欄內(nèi)輸入一個名稱以替代現(xiàn)有文本。請大家選擇一個清晰的名稱,讓自己能夠明確區(qū)分不同應(yīng)用程序?,F(xiàn)在點擊“瀏覽”按鈕,在其中選擇自己的應(yīng)用程序項目,而后點擊“OK”。

http://wiki.jikexueyuan.com/project/android-sdk/images/22.png" alt="" />

點擊“目標”選項卡。大家可以讓 Eclipse 自動選擇要啟動應(yīng)用程序的設(shè)備,也可以將其設(shè)置為每次運行應(yīng)用程序時都提醒用戶手動選擇。這套選項只適用于同時有多種設(shè)備接入 Eclipse 的情況,例如一臺硬件設(shè)備與一套 AVD。

請注意,我們的應(yīng)用程序現(xiàn)在已經(jīng)被列舉在運行配置清單的 Android 應(yīng)用程序當中。當一切準備就緒之后,大家可以從這里進行應(yīng)用程序啟動——相信在未來的實際工作中,各位的工作區(qū)內(nèi)還將包含更多應(yīng)用。

點擊“運行”。如果大家在配置中設(shè)定了每次運行前提示用戶選擇一種設(shè)備,那么 Eclipse 這時就將提供對應(yīng)選項。選擇當前要使用的物理或者虛擬設(shè)備。如果我們沒有接入設(shè)備或者運行 AVD,但又在設(shè)定中要求 Eclipse 自動選擇設(shè)備,則系統(tǒng)會啟動一套適用于當前情況的 AVD。大家也可以通過 Eclipse 工具欄中的“運行”按鈕來啟動上一次應(yīng)用程序所使用的運行環(huán)境,這就省去了每一次打開運行配置窗口的麻煩。

提示:在應(yīng)用程序運行配置的“目標”選項卡中,如果大家向下滾動則會看到多種模擬器選項,其中還包含命令行區(qū)域。大家可以點擊此處查看使用 AVD 過程中可能需要的各種命令行參數(shù)。

第三步

當我們運行自己的應(yīng)用程序時,Eclipse 會將 APK 復(fù)制到目標設(shè)備當中、進行安裝并啟動主 Activity。

http://wiki.jikexueyuan.com/project/android-sdk/images/23.png" alt="" />

大家應(yīng)該還記得我們當初在按鈕上建立的這套基本用戶交互機制;點擊按鈕來改變顯示文本內(nèi)容(在 AVD 當中使用鼠標模擬點擊操作,在實機上則使用手指進行觸控)。

http://wiki.jikexueyuan.com/project/android-sdk/images/24.png" alt="" />

第四步

在大家開發(fā)自己的應(yīng)用程序時,很可能需要重復(fù)將當前成果加以進行、編輯內(nèi)容然后再次運行。在這種情況下,Log 將成為我們使用頻率最高的主要工具之一。在 Java 文件當中,我們可以編寫輸出至 LogCat 的相關(guān)信息來幫助自己更順暢地完成開發(fā)與調(diào)試工作。在我們的主 Activity 類中,將以下實例變量添加到原有類內(nèi)容之前:

這是一條標記常量,我們通常利用它來編寫日志輸出信息;通過類名稱,我們可以更明確地看到當前日志信息來自哪個類。在 onClick 方法中,將以下代碼添加到按鈕文本設(shè)定部分之前:

大家需要將“android.util.Log”導(dǎo)入到自己的類當中。在向 Log 中寫入內(nèi)容時,我們可以從多種方法中作出選擇,從而表達與目的相符的對應(yīng)信息。在上述代碼中,我們用 v 來指代詳細(verbose)。大家還可以用 d 來指代調(diào)試信息(debug message)、i 指代信息(information)、w 指代警告(warning)并用 e 指代錯誤(error)。

現(xiàn)在保存我們的文件并通過“運行”按鈕再次運行應(yīng)用程序。請大家確保自己已經(jīng)在 Eclipse 當中打開了 LogCat View。再次點擊設(shè)備或者 AVD 上的 UI 按鈕。現(xiàn)在向下滾動 LogCat View 直至我們找到對應(yīng)的運行信息。

http://wiki.jikexueyuan.com/project/android-sdk/images/25.png" alt="" />

正如大家所見,以上彩色信息反映每種情況下 Log 方法的實際運行情況。我們可以通過在文本框中輸入內(nèi)容的形式搜索信息,這一點在顯示信息量較大的時候非常有用——例如使用硬件設(shè)備運行應(yīng)用程序時。

http://wiki.jikexueyuan.com/project/android-sdk/images/26.png" alt="" />

提示:如果大家發(fā)現(xiàn)自己在使用 LogCat View 時 Eclipse 停止響應(yīng)或者崩潰,則需要在“窗口”——>“偏好設(shè)置”——>“Android”——>“LogCat”中設(shè)置 LogCat 信息的最大緩沖數(shù)量。如果這樣的調(diào)整仍然無法解決問題,請進一步降低緩沖數(shù)量并再試一次。

2.測試

我們在今天的文章當中不會討論太多測試方面的細節(jié),因為這是一項非常重要也相當重復(fù)的工作、將成為大家未來 Android 學習過程當中的主要課題之一。在準備好進行測試之后,大家可以在 Eclipse 當中創(chuàng)建一個測試專用項目。Android 開發(fā)者指南當中專門提供了“測試基本原理”與“Activity 測試指南”兩個章節(jié),從深層次講解了 Android 平臺上的測試知識。測試工具全部以 JUnit 為基礎(chǔ),作為匯聚專有 Android 測試資源并加以擴展的解決方案,JUnit 專為 Android 開發(fā)工作而生。如果大家已經(jīng)熟悉了對 Java 代碼的測試工作,那么應(yīng)該會更清楚自己需要在 Android 應(yīng)用測試當中做些什么。

3.調(diào)試

第一步

盡管大家并不需要馬上對應(yīng)用程序進行調(diào)試,不過我還是要通過今天的文章為大家初步介紹 DDMS(即 Dalvik 調(diào)試監(jiān)控服務(wù)器)以及這些工具能為開發(fā)流程帶來的實際價值。我們已經(jīng)了解了 Eclipse 當中的一種調(diào)試 View,也就是 LogCat;不過另外幾種同樣值得大家認真掌握。

在運行在或者連接著 Eclipse 的虛擬設(shè)備或者硬件設(shè)備上,我們可以通過選擇“窗口”、“打開視圖”、“DDMS”的方式開啟 DDMS 視圖。在這里,大家能夠利用 Eclipse 右上方的按鈕在 DDMS 視圖與 Java 視圖之間進行切換。

第二步

讓我們就 DDMS 視圖展開探討。上一次我們已經(jīng)了解過設(shè)備視圖(其中會顯示一份清單,羅列所有已經(jīng)連接的設(shè)備外加運行其中的進程鏈接)。選擇一項進程后即可訪問設(shè)備視圖中的各按鈕。正面通過名稱從列表中找出我們自己的按鈕。

http://wiki.jikexueyuan.com/project/android-sdk/images/27.png" alt="" />

在選中對應(yīng)進程之后,點擊設(shè)備視圖中的“Update Threads”按鈕以開啟 Threads View。

http://wiki.jikexueyuan.com/project/android-sdk/images/28.png" alt="" />

“Update Heap”按鈕對于 Heap View 也將起到同樣的作用。在未來的開發(fā)工作當中,大家還會根據(jù)需要了解其它視圖的作用,其中一些只與執(zhí)行特定任務(wù)類型的應(yīng)用程序相關(guān)。不過現(xiàn)在我們不考慮太多,只把時間用在 DDMS 當中值得關(guān)注的內(nèi)容身上。

模擬器視圖提供針對任何運行中虛擬設(shè)備實例的控制選項,大家可以在設(shè)備列表中選擇一套 AVD 并打開其模擬器控制選項卡來查看相關(guān)內(nèi)容。另外,需要注意的是我們可以在設(shè)備視圖當中停止當前運行著的進程、調(diào)試運行中進程并強制執(zhí)行垃圾回收。在我們結(jié)束對 DDMS 的說明之前,應(yīng)用程序一定正運行在硬件或者虛擬設(shè)備之上,請在設(shè)備視圖中選擇對應(yīng)設(shè)備并點擊“截圖”按鈕。

這時新窗口中將出現(xiàn)當前設(shè)備顯示內(nèi)容的截圖結(jié)果。在這里,大家可以保存或者復(fù)制該圖片,并將其用于應(yīng)用程序商店中的宣傳資料當中。受篇幅所限,我們對調(diào)試工作的說明比較簡略,大家可以點擊此處查看 Android 開發(fā)者指南當中關(guān)于 Android 應(yīng)用程序調(diào)試的內(nèi)容。

總結(jié)

當我們開始著手創(chuàng)建 Android 應(yīng)用程序時,需要關(guān)注的重點在于運行應(yīng)用程序并將信息記錄到控制臺以監(jiān)控應(yīng)用的運行活動。不過隨著項目復(fù)雜程度的提升,大家往往會在應(yīng)用程序發(fā)布前的準備階段用到大量 Eclipse 當中不可或缺的 Android 調(diào)試與測試工具。在本系列教程的下一篇文章中,我們將介紹 Android Activity 生命周期,只有掌握了這方面知識、大家才能真正開始創(chuàng)建功能全面的應(yīng)用程序。

原文鏈接:

http://mobile.tutsplus.com/tutorials/android/android-sdk-running-debugging/