官术网_书友最值得收藏!

1.2 基于Android SDK的IDE開發(fā)環(huán)境

Android的SDK開發(fā)環(huán)境使用預(yù)編譯的系統(tǒng),開發(fā)者可以基于Android的標(biāo)準(zhǔn)平臺(tái)API進(jìn)行應(yīng)用程序?qū)哟蔚拈_發(fā)。在SDK的開發(fā)環(huán)境中,還可以使用Eclipse等作為IDE開發(fā)環(huán)境。

1.2.1 Android IDE開發(fā)環(huán)境的組成和結(jié)構(gòu)

Android的IDE開發(fā)環(huán)境需要以下的內(nèi)容。

JDK環(huán)境(Java開發(fā)包);

Eclipse集成開發(fā)環(huán)境;

ADT(Android Development Tools)插件;

Android SDK。

Android SDK在IDE環(huán)境中使用的結(jié)構(gòu)如圖1-2所示。

圖1-2 Android SDK在IDE環(huán)境中使用的結(jié)構(gòu)

Android的SDK具有Windows、Linux和MAC三種不同版本,其中的基礎(chǔ)映像文件、示例代碼和文檔都是相同的,它們之間的主要差別是主機(jī)的工具不同。例如,很多主機(jī)運(yùn)行的工具在Window環(huán)境中為.exe文件,而在Linux環(huán)境中為Elf可執(zhí)行程序;很多腳本在Window環(huán)境中是.bat批處理腳本,在Linux環(huán)境中是shell腳本。

1.2.2 Windows中的Android SDK開發(fā)環(huán)境安裝

1.安裝JDK基本Java環(huán)境

Eclipse的運(yùn)行需要依賴JDK(Java Develop Kit,Java開發(fā)包),因此需要下載使用JDK的包并進(jìn)行安裝。JDK 1.6版本使用一個(gè)可執(zhí)行程序來安裝,例如jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe,雙擊直接進(jìn)行安裝即可。

2.安裝Eclipse

Eclipse集成開發(fā)環(huán)境是開放的軟件,可以到Eclipse的網(wǎng)站上去下載:

http://www.eclipse.org/downloads/

在Android系統(tǒng)發(fā)展的早期,各個(gè)版本的Eclipse在Android中均有所使用。經(jīng)歷了Android版本的多次升級(jí)過程后,目前推薦使用Eclipse 3.5以上的版本,較低版本Eclipse可能不能使用。

3.在Eclipse中安裝ADT

ADT的含義為Android Development Tools(Android開發(fā)工具包),它主要具有以下一些功能:

可以從Eclipse IDE內(nèi)部訪問其他的Android開發(fā)工具。例如,ADT可以直接從Eclipse訪問DDMS工具的很多功能——屏幕截圖、管理端口轉(zhuǎn)發(fā)(port-forwarding)、設(shè)置斷點(diǎn)、觀察線程和進(jìn)程信息。

提供了一個(gè)新的項(xiàng)目向?qū)В∟ew Project Wizard),幫助快速生成和建立起新Android應(yīng)用程序所需的最基本文件。

使構(gòu)建Android應(yīng)用程序的過程變得自動(dòng)化、簡(jiǎn)單易行,提供了一個(gè)Android代碼編輯器,可以幫助完成Android中各種源文件的編寫。

第一步:進(jìn)入Eclipse環(huán)境,選擇“Help”→“Install New Software”,準(zhǔn)備安裝插件,如圖1-3所示。

圖1-3 Eclipse中選擇安裝新軟件

第二步:選擇后將出現(xiàn)軟件升級(jí)對(duì)話框,如圖1-4所示。

圖1-4 Eclipse的軟件升級(jí)對(duì)話框

以上界面出現(xiàn)后,單擊右側(cè)自上而下的第3個(gè)按鈕“Add Site”,表示準(zhǔn)備增加一些路徑,在這個(gè)路徑中獲得插件,單擊后界面如圖1-5所示。

圖1-5 Eclipse中增加ADT插件的路徑

在“Add Site”對(duì)話框中,在Location文本框中輸入Android插件的路徑:

https://dl-ssl.google.com/android/eclipse/

以上的方式是通過一個(gè)網(wǎng)絡(luò)地址獲取ADT插件。除了這種方式以外,另外一種方式是使用本地文件。單擊“Archive…”按鈕,使用這種方式將直接指定磁盤中的一個(gè)ADT包文件(例如ADT-12.0.0.zip等)。

獲得ADT插件文件包的方法,可以從如下的網(wǎng)站上下載:

http://developer.android.com/sdk/eclipse-adt.html

ADT文件包的本質(zhì)是一個(gè)Eclipse中使用的插件,由于是Java插件,因此在Windows和Linux環(huán)境中使用的ADT包相同。

ADT文件本身是一個(gè)ZIP包,經(jīng)過解壓縮之后,其結(jié)構(gòu)如下所示:

        ADT-<version>/
        |-- features                    [特性jar的目錄]
        |-- plugins                     [插件jar的目錄]
        |-- index.html                  HTML格式的網(wǎng)頁描述文件
        |-- site.xml                    XML格式的網(wǎng)站管理文件
        `-- web                         [關(guān)聯(lián)網(wǎng)頁]

ADT文件包的plugins目錄中包含了com.android.ide.eclipse.adt_<version>.jar等Java插件包。

在大多數(shù)情況下,由于ADT對(duì)其他包有依賴,即使使用本地磁盤中的ADT文件包,依然不能脫離網(wǎng)絡(luò)環(huán)境完成安裝。

第三步:ADT相關(guān)的設(shè)置完成后,回到軟件升級(jí)對(duì)話框,work with的路徑變?yōu)榱薶ttps://dl-ssl.google.com/android/eclipse/。后面的列表則變成了“Developer Tools”,即(項(xiàng)目就表示了)Android插件包中的工具,其中包含了以下幾個(gè)項(xiàng)目。

Android DDMS;

Android Development Tools;

Android Hierarchy Viewer;

Android Traceview。

其中的主工具為Android Development Tools,其他為輔助工具。一般情況下它們應(yīng)該被一起安裝。選擇它們后,繼續(xù)進(jìn)行安裝,出現(xiàn)的界面如圖1-6所示。

圖1-6 Eclipse中選擇安裝ADT

選擇接受(accept)并且選擇Finish完成安裝之前的配置,然后將進(jìn)入安裝Android組件的階段。

在安裝的過程中,可能出現(xiàn)缺少某些包的情況,如圖1-7所示。

圖1-7 安裝Android的插件

這時(shí),可以選擇“Window”→“Preference”,從左側(cè)的列表中選擇Install/Update項(xiàng)目,如圖1-8所示。

圖1-8 ADT相關(guān)的插件

在項(xiàng)目中,增加以下的內(nèi)容:

Eclipse GEF,地址為:

http://download.eclipse.org/tools/gef/updates/releases/

Eclipse EMF,地址為:

http://download.eclipse.org/modeling/emf/updates/releases/

Eclipse GMF,地址為:

http://download.eclipse.org/modeling/gmf/updates/releases

Eclipse Webtools,地址為:

http://download.eclipse.org/webtools/updates/

Google eclipse Plugin,地址為:

http://dl.google.com/eclipse/plugin/3.5

第四步:安裝完成,關(guān)閉并重新啟動(dòng)Eclipse。再次進(jìn)入Eclipse后,將發(fā)現(xiàn)ADT已被安裝。

提示:ADT包是Android官方升級(jí)較快的內(nèi)容,從最初2009年10月的ADT 0.9.4到2011年的12.0.0,其間推出過十余個(gè)版本。新版本的功能更強(qiáng),且新版本也可以支持舊版本SDK。因此,無論SDK的版本是哪個(gè),一般情況下都推薦使用最新版本的ADT。

4.獲得Android SDK

Android SDK可以在Android的網(wǎng)站上進(jìn)行下載,相關(guān)部分的網(wǎng)址為:

http://developer.android.com/sdk/

早期Android的SDK獲得方式是使用直接下載包,這個(gè)包通常有幾百兆的大小。在目前的Android開發(fā)中,使用下載工具包+在線升級(jí)的方式。

第一步:獲得android-sdk_<version>-windows.zip。

從Android的網(wǎng)站上,獲取Android SDK的android-sdk_<version>-windows.zip。這個(gè)包不是完整的Android的SDK,而是SDK的預(yù)備包,它只有幾十兆大小。

解壓縮這個(gè)包,獲得Android SDK的基本目錄結(jié)構(gòu),包中包含了一個(gè)名稱為Setup的可執(zhí)行程序,完整的SDK是通過這個(gè)可執(zhí)行程序來獲得的。

第二步:運(yùn)行SDK Setup.exe程序,將出現(xiàn)SDK的下載界面,如圖1-9所示。

圖1-9 Android SDK的下載界面

在Settings中進(jìn)行設(shè)置,選中Force……項(xiàng),表示強(qiáng)制使用網(wǎng)址,選擇后進(jìn)行保存(Save and Apply)。回到Installed Packages中進(jìn)行安裝,出現(xiàn)Android的各個(gè)版本的SDK、工具、文檔的安裝界面,如圖1-10所示。

圖1-10 選擇要安裝的組件

圖1-1 4 建立新的AVD

每個(gè)組件可以選擇接受(Accept)表示安裝,拒絕(Reject)表示不安裝,接受全部(Accept All)表示安裝所有的內(nèi)容。文檔一般安裝成最新的版本。

選擇后,安裝程序?qū)⒁来伟惭b各個(gè)組件,安裝流程如圖1-11所示。

圖1-11 Android的SDK安裝界面

SDK的下載安裝過程中,每個(gè)組件將首先被放置到temp中,以一個(gè)ZIP包的形式存在。下載完成后,得到完整的Android SDK。

Android的完整SDK的目錄結(jié)構(gòu)如下所示。

add-ons:附加的包;

docs:HTML格式的離線文檔;

platforms:SDK核心內(nèi)容;

platforms-tools:平臺(tái)相關(guān)的工具;

samples:應(yīng)用程序的示例代碼(較新版本的SDK中具有);

tools:工具。

在platforms中包含的各個(gè)Android SDK版本的目錄中,包含系統(tǒng)映像、工具、示例代碼等內(nèi)容。

data/:包含默認(rèn)的字體、資源等內(nèi)容;

images/:包含默認(rèn)的Android磁盤映像,包括內(nèi)存盤映像(ramdisk image),系統(tǒng)映像(system image),用戶數(shù)據(jù)映像(userdata image)等,這些映像是仿真器運(yùn)行的時(shí)候需要使用的;

samples/:應(yīng)用程序的示例代碼(較舊版本的SDK中具有);

skins/:包含了幾個(gè)仿真器的皮膚,每個(gè)皮膚對(duì)應(yīng)了一種屏幕尺寸;

templates/:包含了幾個(gè)使用SDK開發(fā)工具的模板;

android.jar:Android庫文件的Java程序包,在編譯本平臺(tái)的Android應(yīng)用程序的時(shí)候被使用。

提示:SDK的“升級(jí)安裝”實(shí)際上是一個(gè)下載的過程,得到環(huán)境后可以打包放到其他相同的主機(jī)環(huán)境中使用。

5.在Eclipse中配置Android SDK

以上的幾個(gè)步驟中1~3和4這兩部分內(nèi)容可以分別進(jìn)行,二者之間沒有依賴關(guān)系。這些步驟完成后,可以使用具有ADT的Eclipse環(huán)境配置Android的SDK。方法為:在Eclipse中選擇“Window”→“Preference”,從左側(cè)的列表中選擇Android項(xiàng),如圖1-12所示。

圖1-12 Eclipse中選擇Android SDK的路徑

圖1-12 中,左側(cè)的Android選項(xiàng)是由于安裝了Android的ADT而出現(xiàn)的。在SDK Location文本框中,單擊“Browse”按鈕;選擇Android SDK的目錄,單擊“OK”按鈕。

在Window的Eclipse安裝完成Android的SDK開發(fā)環(huán)境之后,將會(huì)形成一個(gè)android環(huán)境私有的目錄,用于存放Android的安裝信息,其路徑為:

Documents and Settings\<用戶名>\.android

1.2.3 Linux環(huán)境中的Android SDK開發(fā)環(huán)境安裝

1.安裝JDK基本Java環(huán)境

在Ubuntu環(huán)境中,獲得Java JDK的方法如下所示:

        $ sudo apt-get install sun-java6-jdk

JDK的安裝路徑一般為usr/lib/jvm。

2.安裝Eclipse

在Eclipse網(wǎng)站上下載Linux版本的Eclipse,其他過程與Windows中相同。

3.在Eclipse中安裝ADT

與Windows中的步驟相同。

4.獲得Android SDK

獲得Linux版本的SDK包,android-sdk_<version>-linux_x86.zip,經(jīng)過解壓縮之后,在根目錄中執(zhí)行如下命令:

        $ tools/android update sdk

這里使用的是命令行執(zhí)行的方式,雖然也會(huì)出現(xiàn)SDK的安裝界面。其他步驟與Windows中相同。在Linux版本的SDK中,與Windows的主要差別是主機(jī)運(yùn)行的工具和腳本。

5.在Eclipse中配置Android SDK

與Windows中的步驟相同。

在Linux的Eclipse安裝完成Android的SDK環(huán)境之后,將會(huì)形成一個(gè)android環(huán)境私有的目錄,用于存放Android的安裝信息,其路徑為:

Home/<用戶名>/.android

1.2.4 Android中運(yùn)行仿真器環(huán)境

1.建立Android虛擬設(shè)備

為了運(yùn)行一個(gè)Android仿真器的環(huán)境,首先需要建立Android虛擬設(shè)備(AVD),表示一個(gè)模擬真實(shí)設(shè)備的運(yùn)行環(huán)境。

在Eclipse的菜單中,選擇“Window”→“Android AVD Manager”,出現(xiàn)“Android SDK and AVD Manager”窗口,界面如圖1-13所示。

圖1-13 Android SDK和AVD管理器

界面中間的列表表示了目前可以使用的Android虛擬設(shè)備。在沒有虛擬設(shè)備的情況下單擊右側(cè)的“New”按鈕選擇建立一個(gè)虛擬設(shè)備。

建立新的Android虛擬設(shè)備的窗口為Create new AVD,如圖1-14所示。

Android虛擬設(shè)備的建立包含了以下一些選項(xiàng)。

名字(Name):這個(gè)虛擬設(shè)備的名稱,由用戶自定義。

目標(biāo)(Target):選擇不同的SDK版本(依賴于目前SDK的platform目錄中包含了哪些版本的SDK)。

SD卡:模擬SD卡,可以指定SD卡的容量或者使用一個(gè)SD卡的映像文件。SD卡映像文件實(shí)際上是使用mksdcard工具建立的。

皮膚(Skin):這里皮膚的含義其實(shí)是仿真器運(yùn)行尺寸的大小(并非僅僅是一個(gè)外觀)。可以選擇的尺寸一般有HVGA-P(320×480),HVGA-L(480×320)等,也可以通過直接指定尺寸的方式指定屏幕的大小。

屬性(Property):可以由用戶指定仿真器運(yùn)行的Android系統(tǒng)的一些運(yùn)行時(shí)屬性,例如LCD密度、設(shè)備內(nèi)存等。

在建立一個(gè)虛擬設(shè)備后,將在android環(huán)境私有的目錄中建立這個(gè)設(shè)備的臨時(shí)目錄,包括臨時(shí)的system、data映像文件、SD卡映像文件等。

2.運(yùn)行虛擬設(shè)備

在“Android SDK and AVD Manager”窗口中,選擇一個(gè)設(shè)備,單擊右側(cè)的“Start”按鈕,將調(diào)用仿真器從虛擬設(shè)備運(yùn)行一個(gè)Android系統(tǒng)。

一個(gè)運(yùn)行于HVGA-P(320×480)尺寸的仿真器的界面如圖1-15所示。

圖1-15 運(yùn)行仿真器的界面

窗口的左側(cè)是運(yùn)行的仿真器的屏幕,右側(cè)是模擬的鍵盤。設(shè)備啟動(dòng)后,可以使用右側(cè)的鍵盤模擬真實(shí)設(shè)備的鍵盤操作,也可以用鼠標(biāo)點(diǎn)擊(或者拖曳和長(zhǎng)按)屏幕,模擬觸摸屏的操作。

除了使用右側(cè)的模擬鍵盤之外,也可以使用PC的鍵盤來模擬真實(shí)設(shè)備的鍵盤操作。尤其是當(dāng)仿真器的大小不是標(biāo)準(zhǔn)值的時(shí)候,可能不會(huì)出現(xiàn)按鍵的面板,在這種情況下只能使用鍵盤的按鍵來控制仿真器的按鍵。

Android中的按鍵和鍵盤上的按鍵之間的映射關(guān)系如表1-1所示。

表1-1 仿真器和主機(jī)按鍵的對(duì)應(yīng)關(guān)系

Android仿真器啟動(dòng)虛擬設(shè)備之后,可以使用主機(jī)的網(wǎng)絡(luò)作為自己的網(wǎng)絡(luò),使用主機(jī)的聲音系統(tǒng)作為自己的聲音設(shè)備。

1.2.5 Android中建立工程

1.建立工程

Android的SDK環(huán)境安裝完成后,就可以在SDK中建立工程并進(jìn)行調(diào)試了。在Android的Eclipse環(huán)境中,建立Android工程分成幾個(gè)步驟。

首先,選擇“File”→“New”→“Project”,然后選擇“Android”→“Android Project”,單擊“Next”按鈕,將出現(xiàn)工程建立界面,如圖1-16所示。

圖1-16 建立新的Android工程界面

選擇建立一個(gè)Android工程之后,將出現(xiàn)工程建立的對(duì)話框,在其中通過配置可以建立一個(gè)Android應(yīng)用程序的功能。顯示的界面如圖1-17所示。

圖1-17 建立Android工程(左:工程建立窗口;右:從已有代碼建立工程)

建立工程的第一個(gè)選項(xiàng)是在當(dāng)前工作區(qū)建立一個(gè)空的工程,第二個(gè)選項(xiàng)是從已有的代碼(工程目錄)建立工程,可以使用SDK的platforms/android-<level>/samples或者samples中的各個(gè)子目錄建立工程,這是SDK自帶的示例程序。如果從其他源代碼建立工程,那么所指定的目錄中需要具有Android的工程描述文件(AndroidManifest.xml文件)。

在建立工程的時(shí)候,具有幾個(gè)選項(xiàng):指定應(yīng)用程序名、包名、創(chuàng)建活動(dòng),其中Min SDK表示目標(biāo)可以支持的最小SDK。這里有不同API級(jí)別可以選擇,選擇了某個(gè)級(jí)別后,工程生成的APK包也就默認(rèn)是基于這個(gè)級(jí)別的。

越高版本的SDK具有越多的功能,但是低版本的SDK可以在低版本的設(shè)備上兼容運(yùn)行(前提是沒有使用到超出這個(gè)版本SDK的接口)。

回到建立工具的界面后,單擊“Finish”按鈕,工程將被建立。

提示:SDK建立工程的過程中,如果應(yīng)用程序包沒有名字,將默認(rèn)使用第一個(gè)組件的名字作為應(yīng)用程序包的名字,在這種情況下最好手動(dòng)輸入一個(gè)更恰當(dāng)?shù)拿帧?/p>

一個(gè)Android的工程建立后,在Eclipse的工程環(huán)境中(一般在工作區(qū)的左部分)將列出工程的組成,如圖1-18所示。

圖1-18 工程結(jié)構(gòu)

圖1-18中是通過包瀏覽器(Package Explorer)來瀏覽一個(gè)Android應(yīng)用程序包的結(jié)構(gòu)。Android應(yīng)用程序包分成以下幾個(gè)部分。

AndroidManifest.xml文件:工程文件;

default.properties文件:默認(rèn)屬性文件;

src目錄:源代碼部分;

res目錄:資源文件部分;

assets目錄:資產(chǎn)文件部分;

gen:生成的中間目錄;

bin:目標(biāo)二進(jìn)制文件目錄。

在一個(gè)Android工程中,AndroidManifest.xml文件、src、assets和res一般為工程中具有的,gen、bin目錄和default.properties文件一般為工程建立后生成的。

2.查看和編輯各個(gè)文件

建立工程后,可以通過IDE環(huán)境查看和編輯Android應(yīng)用程序中的各個(gè)文件。不同的文件將使用不同的工具查看,具有不同的效果,主要的類型包括工程描述文件、布局文件、表示數(shù)值的XML文件、Java源代碼文件等。

(1)工程描述文件

Android的工程描述文件也就是根目錄中的AndroidManifest.xml文件,其查看和編輯的情況如圖1-19所示。

圖1-19 查看和編輯AndroidManifest.xml文件

如圖1-19所示,在界面的下端具有多個(gè)不同的標(biāo)簽,其中的前面幾個(gè)標(biāo)簽如下所示。

Manifest:表示全局性描述內(nèi)容;

Application:表示應(yīng)用以及各個(gè)組件;

Permissions:表示各個(gè)許可;

Instrumentation:表示各個(gè)用于測(cè)試的命令。

以上幾個(gè)標(biāo)簽用于使用窗口查看和編輯AndroidManifest.xml的不同方面的內(nèi)容。

最后一個(gè)標(biāo)簽一般為AndroidManifest.xml,單擊它將切換到文本模式,使用文本的形式查看和編輯AndroidManifest.xml中的內(nèi)容。

提示:窗口化編輯和文本化編輯的最終效果是相同的,都體現(xiàn)在最終的XML格式的文件上。

(2)布局文件

布局文件就是res/layout目錄中的各個(gè)表示布局的XML文件,其查看和編輯的情況如圖1-20所示。

圖1-20 查看和編輯布局文件

布局查看器的一個(gè)比較有用的功能是可以直觀地查看程序的UI布局。利用IDE的布局查看器,可以在程序沒有運(yùn)行的情況下直接查看和組織目標(biāo)UI界面。單擊標(biāo)簽(布局文件的名稱)可以切換到文本模式。

布局文件的可視化瀏覽還有幾個(gè)配置選項(xiàng),例如屏幕的大小、屏幕的方向(landscape或portrait)、主題、SDK的版本。在不同的選項(xiàng)情況下,程序運(yùn)行的效果不同。

提示:布局瀏覽器提供的布局文件的可視化查看僅供參考,具體的效果可能因設(shè)備的不同而不同。

(3)表示數(shù)值的XML文件

res目錄中的value等子目錄中的大部分XML文件表示數(shù)值,在界面中可以查看各個(gè)文件和編輯數(shù)值,如圖1-21所示。

圖1-21 查看各個(gè)value文件和建立數(shù)值

Resources標(biāo)簽,用于使用窗口化的環(huán)境查看和建立各個(gè)資源,在建立數(shù)值的時(shí)候,將出現(xiàn)一個(gè)對(duì)話框,這里顯示的Color、Drawable、Integer Array等內(nèi)容,表示的就是各個(gè)數(shù)據(jù)的類型。

在數(shù)值查看界面中,如果切換到后面的xxx.xml標(biāo)簽,則表示通過文本的方式查看和編輯當(dāng)前的XML文件。

(4)Java源代碼文件

Java源代碼文件一般在src目錄當(dāng)中,IDE環(huán)境使用一個(gè)特殊的界面編寫各個(gè)Java源代碼文件,如圖1-22所示。

圖1-22 Java源代碼文件的編輯界面

Java源代碼采用文本的方式顯示,右邊也列出了Java源代碼中類的層次結(jié)構(gòu)。在IDE的源代碼環(huán)境開發(fā)Java程序,主要具有以下幾個(gè)特性。

自動(dòng)修正:自動(dòng)修正調(diào)用的方法名稱;

類方法屬性查找:顯示類的屬性方法的相關(guān)提示信息;

自動(dòng)增加依賴包:根據(jù)代碼引用類的情況,自動(dòng)增加import的內(nèi)容;

顯示代碼中的警告信息(例如,import多余包,沒有使用的變量等)。

其中,自動(dòng)增加依賴包的功能非常實(shí)用,可以減少開發(fā)中使用一個(gè)類就要手動(dòng)寫入import內(nèi)容的煩瑣工作。

3.運(yùn)行工程

在Android中運(yùn)行一個(gè)工程,可以通過右鍵單擊工程名稱,選擇“Run As”或者“Debug As”來運(yùn)行和調(diào)試工程。

提示:開始運(yùn)行的時(shí)候,如果現(xiàn)在已連接到真實(shí)的設(shè)備或者仿真器設(shè)備上,將直接使用這個(gè)設(shè)備,否則將啟動(dòng)一個(gè)新的仿真設(shè)備。

按照上述方式運(yùn)行一個(gè)應(yīng)用程序包,實(shí)質(zhì)上是一個(gè)安裝+啟動(dòng)的雙重過程,第一次運(yùn)行后包就安裝到目標(biāo)設(shè)備中了。開始運(yùn)行后,在IDE下層的控制臺(tái)(Console)標(biāo)簽中,將出現(xiàn)目標(biāo)運(yùn)行的log信息,可以獲取目標(biāo)運(yùn)行的信息。在仿真器環(huán)境中,運(yùn)行一個(gè)包之后,控制臺(tái)如圖1-23所示。

圖1-23 包運(yùn)行階段控制臺(tái)

一個(gè)應(yīng)用程序包開始運(yùn)行的時(shí)候,出現(xiàn)類似的Log信息如下所示:

        [2011-04-02 09:38:54- Skeleton] ------------------------------
        [2011-04-02 09:38:54- Skeleton] Android Launch!
        [2011-04-02 09:38:54- Skeleton] adb is running normally.
        [2011-04-02  09:38:54  -  Skeleton]  Performing  com.example.android.skeletonapp.
    SkeletonActivity activity launch
        [2011-04-02 09:38:54- Skeleton] Automatic Target Mode: using existing emulator
    'emulator-5554' running compatible AVD 'Android_23'
        [2011-04-02 09:38:54- Skeleton] WARNING: Application does not specify an API level
    requirement!
        [2011-04-02 09:38:54- Skeleton] Device API version is 10 (Android 2.3.3)
        [2011-04-02 09:38:54- Skeleton] Uploading Skeleton.apk onto device 'emulator-5554'
        [2011-04-02 09:38:54- Skeleton] Installing Skeleton.apk...

在運(yùn)行一個(gè)仿真設(shè)備的時(shí)候,可以進(jìn)一步通過選擇“Run As”中的“Run Configurations”進(jìn)行進(jìn)一步的配置,啟動(dòng)后的界面如圖1-24所示。

圖1-24 選擇工程中運(yùn)行的動(dòng)作

在Project選項(xiàng)中可以選擇啟動(dòng)的工程。啟動(dòng)活動(dòng)(Launch Action)選項(xiàng)中可以選擇啟動(dòng)哪一個(gè)活動(dòng)(Android的一個(gè)工程中可以包含多個(gè)活動(dòng))。在Target標(biāo)簽中可以選擇啟動(dòng)的時(shí)候使用的設(shè)備。

1.2.6 在IDE中使用各種Android工具

在仿真器環(huán)境中,可以使用集成的Android相關(guān)工具。使用的方法是選擇“Window”→“Show View”→“Other”選項(xiàng),開啟Android的各個(gè)工具。

選擇Android工具的對(duì)話框如圖1-25所示。

圖1-25 選擇Android工具的對(duì)話框

在工具選擇界面中,可以選擇的Android主要工具包括:Device(設(shè)備控制)、Emulator Control(仿真器控制)、File Explore(文件瀏覽)、Heap(堆內(nèi)存)、Logcat(Log輸出)等。

每個(gè)工具開啟之后,將出現(xiàn)一個(gè)單獨(dú)的選項(xiàng)卡。

1.使用設(shè)備(Device)工具和Heap(堆)工具

Device工具是Android中運(yùn)用調(diào)試的主要工具,可以用于監(jiān)測(cè)仿真器的運(yùn)行狀況。Device工具基本的功能是顯示各個(gè)Java進(jìn)程的信息。使用其菜單還可以查看Heap(堆內(nèi)存)、Threads(線程)的信息,還具有停止某個(gè)進(jìn)程的運(yùn)行的功能。Device窗口工具欄最右側(cè)的Screen Capture(截屏)按鈕,可以打開一個(gè)窗口用于截取屏幕的窗口。

Device工具和屏幕截取工具的窗口如圖1-26所示。

圖1-26 Android的Device工具和屏幕截取窗口

單擊Dump Hprof File還可以獲得后綴名為hprof的文件。如果當(dāng)前系統(tǒng)的Eclipse環(huán)境中安裝了MAT(Memory Analyzer Tool,內(nèi)存分析工具),可以使用Eclipse的“Windows”→“Open Perspective”→“Other”→“Memory Analyzer”來分析hprof文件,獲得當(dāng)前進(jìn)程內(nèi)存泄漏的情況。

2.使用Logcat工具

Logcat工具是查看系統(tǒng)Log信息的工具,可以獲得Android系統(tǒng)運(yùn)行的時(shí)候打印出來的信息。工具的界面如圖1-27所示。

圖1-27 使用Logcat工具顯示Log

這里通過GUI界面顯示文字信息,顯示的內(nèi)容是從目標(biāo)系統(tǒng)(真實(shí)設(shè)備或者仿真器)的Log輸出。Log的窗口中記錄的信息也就是實(shí)際的Android系統(tǒng)打印出來的,包含了時(shí)間(Time)、級(jí)別(Level)、進(jìn)程ID(pid)、標(biāo)簽(tag)、Log內(nèi)容(Message)等項(xiàng)目。

Logcat窗口可以設(shè)置Log的過濾器(Filter),這樣可以僅僅獲得自己需要的Log信息,屏蔽其他的信息。

3.使用仿真器控制(Emulator Control)工具

選擇“Emulator Control”選項(xiàng)卡可以開啟仿真器的控制對(duì)話框,界面如圖1-28所示。

圖1-28 Android仿真器控制界面

仿真器控制包含了以下幾個(gè)方面的功能。

Telephony Status:控制電話系統(tǒng)的狀態(tài)。

Telephony Actions:可以模擬打電話,發(fā)短信。首先需要在“Incoming number”文本框中輸入電話號(hào)碼,表示當(dāng)前的電話號(hào)碼。此后,選擇“Voice”,單擊“Call”按鈕,表示以當(dāng)前號(hào)碼呼叫仿真器,如果在“Message”文本框中輸入文本,單擊“Send”按鈕,表示以當(dāng)前號(hào)碼向仿真器發(fā)送一個(gè)短信息。

Location Controls:定位系統(tǒng)的控制,主要用于向仿真器輸入GPS信息。例如Longitude和Latitude可用于發(fā)送經(jīng)緯度信息。

提示:仿真器控制中的幾個(gè)選項(xiàng)僅用于控制仿真器,它們通過和仿真器運(yùn)行的硬件仿真程序打交道,來實(shí)現(xiàn)模擬幾種硬件。當(dāng)連接到實(shí)際的硬件設(shè)備的時(shí)候,這些功能就不起作用了。

4.使用文件瀏覽器(File Explorer)工具

文件瀏覽器可以從主機(jī)訪問目標(biāo)機(jī)的幾個(gè)文件系統(tǒng),用來上傳文件、下載文件、刪除內(nèi)容和新建目錄等。

文件瀏覽器的界面如圖1-29所示。

圖1-29 Android文件瀏覽器工具(左:瀏覽器界面;右:上傳文件界面)

文件瀏覽器的界面中,列出了目標(biāo)系統(tǒng)的幾個(gè)重要目錄:data、system、mnt等,并可以展開成樹狀結(jié)構(gòu)。使用右側(cè)的pull和push工具可以將內(nèi)容從目標(biāo)系統(tǒng)取出或者放入。

5.使用Windows工具

Windows工具用于查看當(dāng)前系統(tǒng)的窗口情況,如圖1-30所示。

圖1-30 窗口工具

Windows工具有以下幾個(gè)選項(xiàng)。

Refresh List of This Device:刷新當(dāng)前設(shè)備;

Load view hierarchy into viewer tree:查看View的層次結(jié)構(gòu);

Inspect a screenshot in the Pixel Perfect view:調(diào)用Pixel Perfect查看具體的樹狀結(jié)構(gòu)。

6.使用屬性查看(View Properties)工具

View Properties是屬性查看工具,可以查看界面的屬性,工具運(yùn)行情況如圖1-31所示。

圖1-31 屬性查看工具

使用屬性查看工具可以查看到的內(nèi)容為當(dāng)前視圖的一些屬性。

7.使用Pixel Perfect工具

Pixel Perfect,Pixel Perfect Loupe和Pixel Perfect Tree,實(shí)際上這里調(diào)用了Hierarchy Viewer工具,這是一個(gè)可以輔助更好地檢查和設(shè)計(jì)用戶界面的工具。

例如:使用Pixel Perfect Tree可以列出某個(gè)界面中視圖的層次結(jié)構(gòu),顯示的效果如圖1-32所示。

圖1-32 Pixel Perfect Tree工具

Pixel Perfect Tree中的樹狀結(jié)構(gòu)表示的也就是當(dāng)前界面中的UI的層次結(jié)構(gòu),根據(jù)Layout的嵌套關(guān)系劃分層次。

Pixel Perfect可以從細(xì)節(jié)上查看某個(gè)View的效果,這種觀察比實(shí)際產(chǎn)品上的顯示狀況更細(xì),可以作為進(jìn)一步優(yōu)化顯示效果的依據(jù)。

Pixel Perfect還具有一個(gè)特殊的功能:加載一個(gè)圖片以查看這個(gè)圖片在界面上的顯示效果。

8.使用Tree Overview和Tree View

Tree Overview和Tree View用于以界面的方式顯示當(dāng)前View的層次結(jié)構(gòu)。Tree Overview是一個(gè)宏觀的視圖,移動(dòng)其矩形框的位置,得到的就是使用Tree View的詳細(xì)顯示。

Tree View的效果如圖1-33所示。

圖1-33 Tree View工具

這里選中一個(gè)項(xiàng)目(Vi e w)后,可以查看它的詳細(xì)情況,通過這種方式依次得到系統(tǒng)在界面層次上的各部分的開銷。

當(dāng)設(shè)備上的窗口有所變化的時(shí)候,可以通過單擊界面右上角的Refresh按鍵更新界面的顯示。

提示:Windows工具中的Load view hierarchy into viewer tree更新的就是Tree View的內(nèi)容。

Tree View中的樹狀結(jié)構(gòu)和Pixel Perfect Tree中的樹狀結(jié)構(gòu)表示的內(nèi)容類似,只是Tree Vi e w采用了更加圖形化的方式,并且可以看到進(jìn)一步的信息。

9.使用Layout View

Layout View工具用于查看界面中每一個(gè)元素的情況。Layout View工具的界面如圖1-34所示。

圖1-34 Layout View工具

當(dāng)啟動(dòng)后Layout View列出的只是界面的大體框架結(jié)構(gòu),單擊右上角的“Load all View Image”并單擊框架結(jié)構(gòu),可以看到每一個(gè)元素的情況。

1.2.7 其他Android工具

在Android SDK的tools目錄中,具有一些可以脫離SDK環(huán)境獨(dú)立使用的工具。在Windows和Linux不同的SDK環(huán)境中,這些工具不相同,例如某些工具在Windows中是批處理文件(*.bat),在Linux中是可執(zhí)行程序。但是它們的使用方法是類似的。

主要有以下具有界面環(huán)境的工具。

ddms:相當(dāng)于IDE環(huán)境中的Device、Emulator Control、Logcat、Heap、File Explorer等工具的集合。

hierarchyviewer:相當(dāng)于IDE環(huán)境中的Windows、Pixel Perfect、Tree Overview、Tree View和Layout View等工具。

有一些Android的工具需要在命令行的環(huán)境中運(yùn)行:在Linux中打開Shell界面來運(yùn)行;在Windows中選擇“開始”→“運(yùn)行”,輸入“cmd”并單擊“確定”按鈕,進(jìn)入命令行的界面中運(yùn)行。

命令行的工具是在Android SDK的tools目錄中的腳本和可執(zhí)行程序,主要為adb和mksdcard等。

adb(Android Debug Bridge,Android調(diào)試橋)是Android的主要調(diào)試工具,它可以通過網(wǎng)絡(luò)或者USB連接真實(shí)的設(shè)備,也可以連接仿真器。通常在命令行的界面中,使用adb進(jìn)行調(diào)試。

使用adb連接目標(biāo)系統(tǒng)終端的方式如下所示:

        > adb shell

將出現(xiàn)shell提示符,這就是Android所運(yùn)行的Linux系統(tǒng)中的shell終端,可以在這個(gè)shell提示符后執(zhí)行Android系統(tǒng)提供的Linux命令。

使用adb安裝應(yīng)用程序的方法為:

        > adb install XXX.apk
        > adb uninstall <package_name>

使用adb在主機(jī)和目標(biāo)機(jī)之間傳送文件的方法為:

        > adb push <host_path> <target_path>
        > adb pull <target_path> <host_path>

提示:IDE中的幾個(gè)圖形化的工具也都是基于adb和目標(biāo)系統(tǒng)進(jìn)行聯(lián)系的。

mksdcard是用來建立SD卡映像的工具,用來建立一個(gè)Fat 32格式的磁盤映像,其使用方法如下所示:

        mksdcard [-l label] <size> <file>

mksdcard的參數(shù)-l用于指定磁盤映像的標(biāo)簽,size用于指定磁盤映像的大小,其后面可以跟K、M、G等參數(shù),file是磁盤映像的文件名稱,這個(gè)文件也就是在仿真器運(yùn)行過程中指定的文件。

mksdcard的一個(gè)示例如下所示:

        > mksdcard 128M sdcard.img

這表示建立了一個(gè)大小為128MB,名稱為sdcard.img的Fat32磁盤映像文件。這個(gè)映像文件可以在AVD中被選擇。

主站蜘蛛池模板: 阳江市| 汉沽区| 嵊泗县| 眉山市| 乐亭县| 洛阳市| 遂溪县| 瑞丽市| 藁城市| 化德县| 鸡西市| 辉县市| 恩平市| 夹江县| 宁明县| 泸溪县| 治县。| 兖州市| 昭苏县| 吐鲁番市| 阜康市| 永登县| 共和县| 丽江市| 邛崃市| 武城县| 进贤县| 牙克石市| 邯郸县| 乌鲁木齐县| 延庆县| 左贡县| 成武县| 安化县| 丹阳市| 措勤县| 彭泽县| 布尔津县| 罗山县| 泸水县| 鹤岗市|