Android虛擬設(shè)備創(chuàng)建指南
譯文教程說(shuō)明
- 技術(shù)工具: Android
- 操作難度: 入門級(jí)
- 執(zhí)行時(shí)間: 30到40分鐘
準(zhǔn)備開始
【51CTO獨(dú)家譯文】本篇文章的基本讀者定位是針對(duì)剛剛開始學(xué)習(xí)Android系統(tǒng)開發(fā)的Java技術(shù)人員,大家應(yīng)該熟悉Eclipse,并安裝了Eclipse環(huán)境下的Android軟件開發(fā)包以及Android開發(fā)者插件,這些都是構(gòu)建模擬環(huán)境的先決條件。如果大家還沒(méi)有做好上述準(zhǔn)備,不妨先閱讀幾篇前續(xù)指南(網(wǎng)址為:http://mobile.tutsplus.com/articles/news/learn-android-sdk-development-from-scratch/)。
第一部分:創(chuàng)建一套簡(jiǎn)單的AVD
教程的第一步從創(chuàng)建一套簡(jiǎn)單、常見(jiàn)的AVD環(huán)境開始,這套環(huán)境代表著最普通的標(biāo)準(zhǔn)Android設(shè)備。標(biāo)準(zhǔn)化AVD的意義在于普遍性,我們能夠憑借這套配置進(jìn)行最具代表性的測(cè)試及調(diào)整工作。
第一步: 啟動(dòng)AVD管理器
我們先來(lái)介紹Android虛擬設(shè)備管理器最簡(jiǎn)單的啟動(dòng)步驟:點(diǎn)擊Eclipse內(nèi)Android工具欄上的“小電話”按鈕。點(diǎn)擊完成,該工具將會(huì)開始啟動(dòng),并顯示如下界面——其中的內(nèi)容代表我們已經(jīng)創(chuàng)建出的所有AVD配置方案。
第二步: 啟動(dòng)新的AVD向?qū)?/strong>
現(xiàn)在點(diǎn)擊如上圖所示Android虛擬設(shè)備管理器中的“New…”按鈕。這時(shí)大家會(huì)看到如下對(duì)話框,請(qǐng)?jiān)诳瞻讬谥刑顚懶翧VD的各詳細(xì)配置信息:
第三步: 描述我們的AVD
創(chuàng)建一套基本AVD并不需要填寫太多信息。首先,為我們的新AVD填寫一條描述性名稱(例如‘AVD-API16’),然后再為其選擇目標(biāo)開發(fā)平臺(tái)(例如‘Android 4.1-API Level 16’)。CPU/ABI設(shè)置會(huì)由管理器自動(dòng)搞定,但我們至少要下載一份列表中包含的系統(tǒng)鏡像。接下來(lái)選擇SD卡容量。對(duì)于最基本的測(cè)試用AVD而言,我們一般會(huì)選擇64MB的 SD卡容量,不過(guò)請(qǐng)大家注意,開發(fā)設(shè)備自身會(huì)占用其中的一部分空間。因此如果各位打算創(chuàng)建多套AVD,那么一定要保證預(yù)留出足夠的存儲(chǔ)容量。其它選項(xiàng)就不 用管啦,交給管理器進(jìn)行默認(rèn)設(shè)置即可。
第四步: 工作完成
下面點(diǎn)擊“Create AVD”(創(chuàng)建AVD)按鈕。整個(gè)AVD創(chuàng)建過(guò)程大約耗時(shí)數(shù)分鐘,完成后管理器會(huì)自動(dòng)返回AVD列表界面,這時(shí)我們會(huì)在其中看到自己剛剛新建的虛擬方案。
#p#
第二部分:?jiǎn)?dòng)模擬器與AVD
AVD的基本定義在于通知Android模擬器如何配置細(xì)節(jié)選項(xiàng),因此啟動(dòng)AVD與啟動(dòng)模擬器的作用完全相同。AVD的啟動(dòng)方式不只有一種,在Eclipse環(huán)境下,我們可以通過(guò)選項(xiàng)設(shè)定系統(tǒng)在啟動(dòng)模擬器時(shí)自動(dòng)載入特定的AVD方案——具體啟動(dòng)方式包括啟用調(diào)試功能、在調(diào)試過(guò)程中手動(dòng)啟用以及直接運(yùn)行Android虛擬設(shè)備管理器。這里我們建議大家先通過(guò)Android虛擬設(shè)備管理器啟動(dòng)AVD,然后再進(jìn)行編譯及實(shí)際代碼調(diào)試工作。在這種方式當(dāng)中,我們的模擬器以及AVD會(huì)在調(diào)試工作開始前就處于啟用狀態(tài),同時(shí)也是最基本、最常用的執(zhí)行流程。
備注: 如果大家在閱讀本教程之前已經(jīng)具備一定的Android開發(fā)經(jīng)驗(yàn),那么可以直接從下面的內(nèi)容開始操作,之前只是為零基礎(chǔ)用戶提供的純?nèi)腴T指導(dǎo)。
第一步: 打開AVD管理器
如果大家還沒(méi)有進(jìn)入AVD管理器界面,那么先進(jìn)行啟動(dòng)操作。一般來(lái)說(shuō)我們會(huì)在Eclipse界面中的Android工具欄上找到一個(gè)小小的電話形按鈕,點(diǎn)擊即可完成啟動(dòng)(操作同第一部分第一步中的內(nèi)容)。
第二步: 打開啟動(dòng)選項(xiàng)對(duì)話框
現(xiàn)在選擇我們想要啟動(dòng)的AVD方案并點(diǎn)擊“Start…”按鈕。系統(tǒng)將彈出如下所示的對(duì)話框。
現(xiàn)在讓我們從下往上(同時(shí)也是從易到難)解釋各選項(xiàng)的含義。首先我們看到的是兩個(gè)快照選項(xiàng),Save to snapshot(保存為快照)的意思是當(dāng)我們退出模擬器時(shí),模擬器的當(dāng)前狀態(tài)會(huì)自動(dòng)得到保存。整個(gè)保存過(guò)程會(huì)花費(fèi)一段時(shí)間,具體耗時(shí)要看我們?yōu)槟M器分配了多少內(nèi)存容量。Launching from snapshot(從快照啟動(dòng))的意思是模擬器會(huì)根據(jù)先前保存的快照自然恢復(fù)工作狀態(tài)。這種讀取快照內(nèi)容的啟動(dòng)方式會(huì)比一般的冷啟動(dòng)快得多。
再往上的選項(xiàng)用于清除用戶數(shù)據(jù)。通過(guò)這項(xiàng)功能,我們可以輕松將AVD恢復(fù)成初始狀態(tài),這跟很多設(shè)備上的“恢復(fù)出廠設(shè)置”作用差不多。在許多測(cè)試工作中,我們會(huì)希望自己能擁有一套完全未受任何殘留數(shù)據(jù)影響的環(huán)境,這時(shí)候該選項(xiàng)就該派上用場(chǎng)了。當(dāng)然,我還得提醒大家,這種初始環(huán)境下的測(cè)試只能作為參考結(jié)果之一。畢竟我們的成品最終會(huì)在可能已經(jīng)安裝了數(shù)百款應(yīng)用的終端設(shè)備上運(yùn)行,因此用戶數(shù)據(jù)的影響絕對(duì)不能完全忽略。
再進(jìn)一步,上方的選項(xiàng)是將模擬器的顯示效果調(diào)整為物理屏幕的實(shí)際尺寸。也就是說(shuō)只要我們輸入正確的分辨率數(shù)據(jù),顯示器上的模擬器屏幕將會(huì)與移動(dòng)設(shè)備的實(shí)際大小完全一致。不過(guò)二者(指計(jì)算機(jī)顯示器與設(shè)備屏幕)在像素密度上存在著很大差異,因此顯示器上的實(shí)際像素使用數(shù)量與設(shè)備也有所不同(一般來(lái)說(shuō)顯示器使用的像素?cái)?shù)量更少,除非大家使用的是特殊的高像素密度顯示器或者模擬的是低像素密度設(shè)備)。點(diǎn)擊上圖中的“?”按鈕會(huì)激活另一個(gè)對(duì)話框,內(nèi)容是向我們提供一些常見(jiàn)屏幕分辨率及顯示器尺寸范例,并能夠自動(dòng)根據(jù)選擇填寫細(xì)節(jié)信息。平時(shí)多見(jiàn)的分辨率方案大多能在這里找到,但肯定沒(méi)有涵蓋所有情況。
下圖顯示的是一套配置范例。根據(jù)我們的設(shè)定,管理器需要在一臺(tái)24英寸的1080p顯示器上以4英寸的模擬屏幕(即模擬器對(duì)角線長(zhǎng)度)構(gòu)建WVGA800顯示方案。由于我的臺(tái)式機(jī)連接了多臺(tái)顯示器(各自尺寸也不盡相同),因此可以隨心所欲地將模擬器界面拖拽至不同的顯示器上。
根據(jù)實(shí)際屏幕尺寸縮放之后,模擬器界面在橫向及縱向像素?cái)?shù)量上縮減了40%。當(dāng)然,我們不需要在模擬環(huán)境下過(guò)分在意像素級(jí)別的細(xì)微差異,只要宏觀體驗(yàn)最終成果的實(shí)際顯示效果即可。簡(jiǎn)單來(lái)說(shuō),我們可以用手在顯示器上比劃比劃,看看自己設(shè)定的按鈕尺寸會(huì)不會(huì)太小、點(diǎn)選起來(lái)有沒(méi)有困難。
如果不勾選此項(xiàng)目,那么模擬器屏幕將與顯示器上的像素點(diǎn)一一對(duì)應(yīng),我們一般在開發(fā)過(guò)程中都會(huì)以這種方式進(jìn)行。除了進(jìn)一步調(diào)整用戶界面及用戶體驗(yàn)之外,大多數(shù)工作都會(huì)在點(diǎn)對(duì)點(diǎn)顯示的條件下進(jìn)行。
第三步: 啟動(dòng)模擬器
現(xiàn)在讓我們點(diǎn)擊“Launch”(啟動(dòng))按鈕,這樣模擬器就會(huì)開始運(yùn)行。在目前的設(shè)置下,模擬器會(huì)加載各選項(xiàng),這使得首次啟動(dòng)變得耗時(shí)較長(zhǎng)。大家不用擔(dān)心。以后啟動(dòng)時(shí)速度就會(huì)快得多。另外,某些工具或者附加組件能夠大大提高某些方案在模擬環(huán)境下的啟動(dòng)速度。下圖為在24英寸1920x1080分辨率顯示器上模擬4英寸手機(jī)屏幕的實(shí)際效果。
#p#
第三部分:創(chuàng)建一套能夠模擬真實(shí)設(shè)備的AVD
AVD方案中擁有多種選項(xiàng),允許我們控制屏幕尺寸、內(nèi)存大小、輸入方式等各種Android物理設(shè)備上常見(jiàn)的特性。由于這些內(nèi)容在之前的幾篇文章中已經(jīng)提過(guò)、而且執(zhí)行難度也不高,這里就不再一一贅述了。在本文中,我們將共同討論如何利用由設(shè)備制造商提供的插件模擬出各款當(dāng)下流行的特定Android設(shè)備。
第一步: 選擇一臺(tái)設(shè)備
相信大家已經(jīng)學(xué)會(huì)了如何通過(guò)Android SDK管理器下載插件。首先選擇一臺(tái)設(shè)備,然后下載其對(duì)應(yīng)插件。這里我們選擇摩托羅拉公司推出的ICS_R2來(lái)進(jìn)行說(shuō)明——別看這名字聽(tīng)起來(lái)挺玄乎,其實(shí)就是一款專為ATRIX HD手機(jī)提供的模擬插件。
第二步: 創(chuàng)建新的AVD
打開Android虛擬設(shè)備管理器,重復(fù)前文提到的步驟,創(chuàng)建一套新的AVD。在“Target”(目標(biāo)設(shè)備)列表中選擇“ICS_R2(Motorola Mobility,LLC.)-API Level 15”選項(xiàng)。選中之后,其細(xì)節(jié)信息會(huì)自動(dòng)被填寫到設(shè)置欄當(dāng)中,包括許多硬件參數(shù)及桌面主題等。接下來(lái)點(diǎn)擊Create AVD(創(chuàng)建AVD)按鈕。
不過(guò)需要注意的是,整套自動(dòng)設(shè)定是不包括屏幕尺寸參數(shù)的。如果大家已經(jīng)知道自己要模擬的設(shè)備尺寸,可以手動(dòng)填寫硬件的物理尺寸并設(shè)置開發(fā)用顯示器的DPI,這些內(nèi)容我們之前也已經(jīng)提到過(guò)。
第三步: 啟動(dòng)新AVD
從前面提到的幾種方式中選擇其一,啟動(dòng)AVD。通過(guò)下圖,大家會(huì)馬上發(fā)現(xiàn)模擬效果的區(qū)別所在。
但千萬(wàn)別以為有了這些差異,咱們的模擬環(huán)境就與實(shí)機(jī)情況完全一致了。其實(shí)區(qū)別還是很大的。模擬器永遠(yuǎn)無(wú)法徹底取代實(shí)機(jī)測(cè)試過(guò)程。話雖如此,但如果是要對(duì)常用應(yīng)用程序以及第三方API進(jìn)行測(cè)試,那么最高效、最廉價(jià)的方式就是利用好經(jīng)過(guò)準(zhǔn)確配置的模擬環(huán)境。大多數(shù)插件以及設(shè)備制造商提供的更新內(nèi)容都會(huì)存在于最新版本的系統(tǒng)鏡像當(dāng)中,而 實(shí)機(jī)中的早期系統(tǒng)版本恐怕根本無(wú)法勝任測(cè)試工作。不過(guò)也請(qǐng)注意其中的貓膩——很多設(shè)備廠商都會(huì)在系統(tǒng)鏡像中禁用對(duì)谷歌應(yīng)用的支持,但實(shí)際上這些應(yīng)用能夠在 實(shí)機(jī)環(huán)境下順利運(yùn)行。
#p#
總結(jié)
到這里,相信大家已經(jīng)學(xué)會(huì)了如何為各種類型的Android設(shè)備創(chuàng)建AVD方案,并掌握了怎樣啟動(dòng)模擬器并使用這些AVD方案。如果大家能夠像我一樣保持良好的開發(fā)習(xí)慣,那么不妨立即著手清理自己的AVD列表,因此其中大多數(shù)創(chuàng)建出來(lái)的方案都從來(lái)不會(huì)用到。一旦面臨清理問(wèn)題,平時(shí)積累下來(lái)的良好習(xí)慣就會(huì)發(fā)揮作用了——請(qǐng)務(wù)必為自己的每套AVD方案起一個(gè)清晰、準(zhǔn)確的描述性名稱,這樣我們才能在列表中輕松找出哪些方案還會(huì)用到、而哪些方案應(yīng)該被擺在列表頂端。
希望大家能夠按自己的想象自由進(jìn)行Android開發(fā)工作。各位接下來(lái)打算開發(fā)什么樣的應(yīng)用程序?請(qǐng)?jiān)谠u(píng)論欄中留下您的意見(jiàn),我們也會(huì)根據(jù)結(jié)果選擇一些熱門話題展開討論。
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文出處、作者及51CTO譯者!】