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