




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Android開(kāi)發(fā)和調(diào)試時(shí)間:2008-12-0718:02來(lái)源:Android開(kāi)發(fā)者作者:Androidin點(diǎn)擊:叵1227次聲明:本中文文檔不允許電玩巴士()旗下的任何網(wǎng)站、雜志、論壇進(jìn)行轉(zhuǎn)載或者引用此文內(nèi)容,其他網(wǎng)站轉(zhuǎn)載請(qǐng)注明出處在eclipse上開(kāi)發(fā)Android應(yīng)用程序在用eclipseIDE開(kāi)發(fā)android應(yīng)用程序之前,你首先要?jiǎng)?chuàng)建一個(gè)Android工程,并且建立一個(gè)啟動(dòng)配置在eclipse上開(kāi)發(fā)Android應(yīng)用程序在用eclipseIDE開(kāi)發(fā)android應(yīng)用程序之前,你首先要?jiǎng)?chuàng)建一個(gè)Android工程,并且建立一個(gè)啟動(dòng)配置,在此之后你才可以開(kāi)始編寫,運(yùn)行,以及調(diào)試你的應(yīng)用程
2、序。以下章節(jié)是假設(shè)你已經(jīng)在eclipse環(huán)境中安裝了ADT插件,如果你沒(méi)有安裝,請(qǐng)安裝之后再使用以下說(shuō)明。參考安裝eclipse插件(ADT創(chuàng)建一個(gè)android工程ADT®供了一個(gè)新的工程向?qū)?,你可以快速的?chuàng)建一個(gè)新的工程或者在現(xiàn)有代碼上創(chuàng)建工程。創(chuàng)建工程的步驟如下:選擇File>New>Project選擇Android>AndroidProject,然后按下Next選擇項(xiàng)目?jī)?nèi)容:選擇Createnewprojectinworkspace,為編碼創(chuàng)建一個(gè)全新的工程。輸入工程名稱(projectname,基礎(chǔ)軟件包的名稱(thebasepackagename,以及A
3、ctivity類的名稱。以創(chuàng)建stub.java文件等文件和程序名字。選擇Createprojectfromexistingsource,為已有代碼倉(cāng)建個(gè)工程。如果你想編譯運(yùn)行SDK中提供的示例程序,可以使用這個(gè)選項(xiàng)。示例程序的存放在SDK勺samples/目錄下。瀏覽包含已有代碼的目錄,點(diǎn)擊ok,如果目錄中包含有可用的androidmanifest文件,ADTW為你填寫合適的軟件包,activity,和應(yīng)用程序名稱。按下Finish.ADT插件會(huì)根據(jù)你的工程類型創(chuàng)建合適的文件和文件夾,如下:src/包含stub.javaActivity文件的文件夾.res/資源文件夾.AndroidMani
4、fest.xml工程清單.創(chuàng)建一個(gè)啟動(dòng)項(xiàng)能夠在eclipse上運(yùn)行調(diào)試應(yīng)用程序之前,你必須為它創(chuàng)建一個(gè)啟動(dòng)項(xiàng)。啟動(dòng)項(xiàng)指定哪個(gè)工程將被啟動(dòng),哪個(gè)activity開(kāi)始工作,以及使用哪些模擬器選項(xiàng)等。按照以下步驟為Eclipse版本的應(yīng)用程序創(chuàng)建合適的啟動(dòng)項(xiàng):打開(kāi)啟動(dòng)項(xiàng)管理工具。在Eclipse3.3(Europa)的版本中,酌情選擇Run>OpenRunDialog.orRun>OpenDebugDialog.。在Eclipse3.4(Ganymede)版本中,酌情選擇Run>RunConfigurations.orRun>DebugConfigurations.。在左邊的
5、工程類型列表選擇AndroidApplication選擇,雙擊(或者點(diǎn)擊右鍵選擇new/),創(chuàng)建一個(gè)新的啟動(dòng)項(xiàng)。輸入啟動(dòng)項(xiàng)名稱。在Android標(biāo)簽中,瀏覽要開(kāi)始的工程和Activity。在Target標(biāo)簽中,設(shè)置想要顯示的屏幕及網(wǎng)絡(luò)屬性,以及其他任何模擬器啟動(dòng)選項(xiàng)。你可以在Commo標(biāo)簽中設(shè)置更多的選項(xiàng).按下Apply保存啟動(dòng)配置,或者按下Run或Debug()。運(yùn)行和調(diào)試應(yīng)用程序一旦你設(shè)定了工程和工程啟動(dòng)配置,你就可以按照以下的說(shuō)明運(yùn)行和調(diào)試應(yīng)用程序了。從eclipse主菜單,根據(jù)情況選擇Run>Run或者Run>Debug開(kāi)始運(yùn)行或者調(diào)試活動(dòng)啟動(dòng)項(xiàng)。注意,這里活動(dòng)啟動(dòng)項(xiàng)是在運(yùn)
6、行配置管理中最最近一次選中的那個(gè)。它不一定就是在EclipseNavigation面板中選擇的程序(如果有的話)設(shè)置和修改活動(dòng)啟動(dòng)項(xiàng),可以使用啟動(dòng)項(xiàng)管理工具。如何獲得啟動(dòng)項(xiàng)管理工具可以參考創(chuàng)建一個(gè)啟動(dòng)項(xiàng)運(yùn)行或調(diào)試應(yīng)用程序?qū)⒂|發(fā)以下動(dòng)作:?jiǎn)?dòng)模擬器,如果他還沒(méi)有開(kāi)始運(yùn)行。編譯工程,如果在上次編譯的基礎(chǔ)上修改過(guò)代碼,將重新編譯。在模擬器上安裝應(yīng)用程序。Run選項(xiàng),開(kāi)始運(yùn)行程序。Debug在"Waitfordebugger"模式下啟動(dòng)程序,然后打開(kāi)調(diào)試窗口并將EclipseJava調(diào)試器和程序關(guān)聯(lián)。利用其他IDEs和工具開(kāi)發(fā)Android應(yīng)用程序通常我們使用安裝有ADT插件的ec
7、lipseEclipsewiththeADTplugin.來(lái)開(kāi)發(fā)Android程序,這個(gè)插件將編輯,build和調(diào)試功能集成到IDE上。然而,如果你想在其他的IDE上開(kāi)發(fā)程序,例如IntelliJ,或者使用沒(méi)有ADT插件的eclipse也可以。SDKI供了安裝,編譯,調(diào)試應(yīng)用程序所需要的工具。創(chuàng)建一個(gè)android工程AndroidSDK包含一個(gè)activityCreator的程序,它將為工程產(chǎn)生多個(gè)stub文件和一個(gè)build文件。你可以用這個(gè)程序創(chuàng)建一個(gè)新的Android工程或者在現(xiàn)有代碼上創(chuàng)建工程,如SDK中包含的例子。對(duì)于Linux和Mac系統(tǒng),SDK1供activityCreator
8、.py,一個(gè)Python腳本,Windows上則是activityCreator.bat一個(gè)批處理腳本。無(wú)論是哪種平臺(tái),用法是一樣的。按以下步驟運(yùn)行activityCreator創(chuàng)建Android工程:在命令行下,切換到SDKT的tools/目錄下,為你的工程文件新建一個(gè)目錄。如果你是在現(xiàn)有代碼上創(chuàng)建工程,切換到程序的根目錄下。運(yùn)行activityCreator。在命令行下,你必須指定完全合格的類名作為參數(shù)。如果你是創(chuàng)建一個(gè)全新的工程,這個(gè)類代表的與它同名的stub類和腳本文件。如果是在現(xiàn)有代碼上創(chuàng)建工程,必須指定軟件包中其中一個(gè)Activity類的名稱。命令選項(xiàng)的腳本包括:-out<f
9、older>設(shè)定輸出目錄。默認(rèn)情況下輸出目錄為當(dāng)前目錄。如果你想為工程文件創(chuàng)建一個(gè)新的目錄,可以使用這個(gè)選項(xiàng)來(lái)指向它。-ideintellij,在一個(gè)新的項(xiàng)目中生成IntelliJIDEA工程文件。這里有個(gè)例子:/android_linux_sdk/t001s$./activityC.ActivityNamepackage:out_dir:myprojectactivity_name:ActivityName/android_linux_sdk/tools$activityCr
10、eator腳本生成以下文件和目錄(但是不能重寫已有文件):AndroidManifest.xml程序的清單文件,同時(shí)為工程指定Activity類。build.xml一個(gè)Ant文件,用來(lái)編譯/打包應(yīng)用程序。src/your/package/name/ActivityName.java你指定白輸入Activity類。your_activity.iml,your_activity.ipr,your_activity.iwsonlywiththe-ideintelliJflagintelliJ工程文件res/資源目錄.src/源代碼目錄.bin/build腳本的輸出目錄.現(xiàn)在你可以將開(kāi)發(fā)文件夾移到任何
11、地方,但是記住,必須使用tool/文件夾下的adb程序?qū)⑽募l(fā)送到模擬器上。因此你需要在你工作環(huán)境和tools/文件夾之問(wèn)活動(dòng)。當(dāng)然你需要避免移動(dòng)SDK目錄,因?yàn)樗鼘⒋驍嗑幾g腳本。(再重新build之前需要手動(dòng)更新SDK的映射路徑)編譯android應(yīng)用程序使用activityCreator生成的Ant文件build.xml來(lái)編譯程序如果你沒(méi)有,你可以通過(guò)ApacheAnthomepage得到Ant文件。安裝它,并確定它在你的可執(zhí)行文件路徑下。呼叫Ant之前,你需聲明JAVA_HOME境變量,并將它設(shè)置為JDK的安裝路徑。注意:在windows±,JDK默認(rèn)的安裝路徑為"P
12、rogramFiles",這個(gè)路徑將會(huì)引起Ant失敗,因?yàn)槁窂街虚g有空格。解決這個(gè)問(wèn)題,你可以像這樣指定環(huán)境變量JAVA_HOMEJAVA_HOME=c:Prora1Java然而簡(jiǎn)單的解決方法是將JDK安裝在沒(méi)有空格的目錄下。例如:c:javajdk1.6.0_02.如果你還沒(méi)有這么準(zhǔn)備好,按照上面創(chuàng)建一個(gè)新的工程的介紹建立一個(gè)工程?,F(xiàn)在你可以為你的工程運(yùn)行Ant編譯文件,只需在build.xml同文件夾下輸入ant即可。每次修改原文件或是資源,都需要重新運(yùn)行ant,它將把最新版的應(yīng)用程序打包以便deploy.運(yùn)行Android程序運(yùn)行一個(gè)編譯好的程序,你需要用adb工具將.apk文
13、件加載到模擬器的/data/app/目錄下,用法如下面介紹。啟動(dòng)模擬器(命令行下運(yùn)行sdk目錄下的/tools/emulator)。模擬器切換到主畫面(最好不要在程序運(yùn)行的時(shí)候向模擬器安裝程序,可以按home®離開(kāi)應(yīng)用程序)o運(yùn)行adb,安裝myproject/bin./<appname>.apk文件。例如,安裝LunarLander示例,命令行下,切換到SDK目錄下的/sample/LunarLander子目錄下,輸入././tools/adbinstallbin/LunarLander.apk在模擬器中,打開(kāi)可執(zhí)行程序列表,卷動(dòng)屏幕,選中并啟動(dòng)你的應(yīng)用程序。注意:當(dāng)你
14、第一次安裝一個(gè)Activity時(shí),你可能需要在啟動(dòng)項(xiàng)顯示之前,或者其它程序調(diào)用它之前重新啟動(dòng)模擬器。因?yàn)檐浖芾砉ぞ咄ǔV挥性谀M器啟動(dòng)時(shí)才能完全的審查manifests。為程序附加調(diào)試器這一節(jié)我們介紹如何在屏幕上顯示調(diào)試信息(例如CPU®用率),以及如何將IDE和模擬器上運(yùn)行的程序關(guān)聯(lián)起來(lái)。使用eclipse插件可以自動(dòng)的生成調(diào)試器。但你也可以通過(guò)配置IDES來(lái)監(jiān)聽(tīng)調(diào)試端口得到調(diào)試信息。啟動(dòng)DalvikDebugMonitorServer(DDMS)工具,它在IDE和模擬器之間扮演著端口轉(zhuǎn)換服務(wù)的角色。?設(shè)置模擬器調(diào)試配置選項(xiàng)。例如,等到調(diào)試信息被加載后才啟動(dòng)應(yīng)用程序。注意,很多
15、調(diào)試選項(xiàng)無(wú)需DDM他可以使用,例如模擬器上顯示CPU勺使用效率,或者屏幕的刷新頻率。配置IDE,使得調(diào)試時(shí)IDE與8700端口關(guān)聯(lián).howtosetupEclipsetodebugyourproject.包含以下信息。配置IDE附加調(diào)試端口DDM略為每一個(gè)虛擬機(jī)分配一個(gè)特殊的調(diào)試端口,這個(gè)端口在模擬器上可以找到。你必須將你的IDE與此端口(虛擬機(jī)上信息欄中有列出這些端口)關(guān)聯(lián)或者是默認(rèn)的端口8700。這樣可以使IDE連接到模擬器上程序列表中的任一個(gè)程序。你的IDE需要能夠關(guān)聯(lián)模擬器上正在運(yùn)行的程序,顯示它的線程,并允許你掛起它,檢查它的狀態(tài),設(shè)置斷點(diǎn)。如果你在開(kāi)發(fā)設(shè)置面板選擇了“等待調(diào)試”,應(yīng)
16、用程序?qū)⒌鹊紼clipse連接后才運(yùn)行,所以你需要在連接之前設(shè)置斷點(diǎn)。修改正在調(diào)試的程序,或者在當(dāng)前程序運(yùn)行時(shí)選擇“等待調(diào)試”將引起系統(tǒng)殺死這個(gè)應(yīng)用程序。如果你的程序處于一種壞的狀態(tài),你可以使用方式殺死它,方法很簡(jiǎn)單,只需要設(shè)置和鉤掉復(fù)選框。應(yīng)用程序簽名Android系統(tǒng)要求所有的程序經(jīng)過(guò)數(shù)字簽名才能安裝,如果沒(méi)有可用的數(shù)字簽名,系統(tǒng)將不許安裝運(yùn)行此程序。不管是模擬器還是真實(shí)設(shè)備,只要是android系統(tǒng),這都適用。鑒于此原因,在設(shè)備或者是模擬器上運(yùn)行調(diào)試程序之前,你必須為你的應(yīng)用程序設(shè)置數(shù)字簽名。理解android程序簽名的重要幾點(diǎn):所有的程序都必須簽名,沒(méi)有被簽名的程序,系統(tǒng)將不能安裝。你
17、可使用自簽署證書簽署你的應(yīng)用程序,必須是無(wú)憑證授權(quán)是的。系統(tǒng)僅僅會(huì)在安裝的時(shí)候測(cè)試簽名證書的有效期,如果應(yīng)用程序的簽名是在安裝之后才到期,那么應(yīng)用程序仍然可以正常啟用。你可以使用標(biāo)準(zhǔn)工具-KeytoolandJarsigner-生成密鑰,來(lái)簽名應(yīng)用程序的.apk文件。AndroidSDK工具可以幫助你在調(diào)試時(shí)給應(yīng)用程序簽名。ADT插件和Ant編譯工具都提供了兩種簽名模式-debug模式和release模式debug模式下,編譯工具使用JDK中的通用程序Keytool通過(guò)已知方法和密碼創(chuàng)建秘鎖和密鑰。每次編譯的時(shí)候,工具使用debug密鑰簽名應(yīng)用程序的.apk文件。因?yàn)槊艽a是已知的,工具不需要在
18、每次編譯的時(shí)候提示你輸入密鎖和密鑰。當(dāng)你的應(yīng)用程序已經(jīng)準(zhǔn)備release了,你可以在release模式下編譯。release模式下,工具編譯時(shí)不會(huì)將.apk文件簽名。你需要用Keytool生成密鑰和密鎖,再用JDK中的Jarsigner工具給.apk文件簽名。簽名基本設(shè)置為了支持生成密鎖和密鑰,你首先要確定Keytool在SDKS譯工具中是有效的。在很多情況下,你可以設(shè)置JAVA_HOMB境變量,告訴SD何找到Keytool,或者你可以在PATH量中添加Keytool的JDK版本。如果你是在linux版本中開(kāi)發(fā),原本是來(lái)自JavaGnu編譯器,請(qǐng)確定系統(tǒng)用的是Keytool版本的JDK而不是g
19、cj版本的。如果Keytool已經(jīng)在PAThfr,它將指向符號(hào)連接/usr/bin/keytool。這種情況下,核實(shí)符號(hào)連接的目標(biāo)是指向JDK下的KeytoolEclipse/ADT中的簽名如果你是在Eclipse下開(kāi)發(fā),并已經(jīng)按照上面所介紹的安裝了Keytool,默認(rèn)情況下是可以在debug模式下簽名的。當(dāng)你運(yùn)行調(diào)試程序的時(shí)候ADKa給.apk文件簽名,并安裝到模擬器上。這部分不需要特殊的動(dòng)作,ADTE經(jīng)進(jìn)入Keytool在release模式下編譯程序,在Package面版上按project右鍵,選擇AndroidTools>ExportApplicationPackage.或者你可以
20、,點(diǎn)擊ManifestEditor,overview頁(yè)面上的“Exportingtheunsigned.apk”連接,導(dǎo)出未簽名apk文件。保存.apk文件之后,用Jarsigner及你自己的密鑰給apk文件簽名,如果沒(méi)有密鑰,你可以用Keystore創(chuàng)建密鑰和密鎖。如果已經(jīng)有一個(gè)密鑰了,如公共密鑰,就可以給.apk文件簽名了。Ant簽名如果用Ant編譯.apk文件,假設(shè)你使用最新版的SDK包含的activitycreator工具生成build.xml文件,默認(rèn)情況下可以使用debug簽名模式。當(dāng)你運(yùn)行Ant對(duì)build.xml編譯程序,build腳本將生成密鎖和密鑰并簽名.apk文件。這部分
21、不需要做其它特殊的動(dòng)作。release模式下編譯程序,你需要做的是在Ant命令中指定編譯目標(biāo)“release0例如,如果是在bulid.xml所在目錄下運(yùn)行ant,輸入以下命令:antreleasebuild腳本編譯程序時(shí)并沒(méi)有簽名。編譯完.apk文件后,你需要用Jarsigner和你自己的密鑰給.apk文件簽名。如果沒(méi)有密鑰,你可以用Keystore創(chuàng)建密鑰和密鎖。如果已經(jīng)有一個(gè)密鑰了,如公共密鑰,你就可以給.apk文件簽名了。調(diào)試證書期限自簽名證書用于程序的debug模式下(默認(rèn)情況下是Eclipse/ADT和Antbuilds),自它創(chuàng)建時(shí)間起有一年的期限。當(dāng)證書到期時(shí),將會(huì)有編譯錯(cuò)誤。
22、And下錯(cuò)誤顯示如下:debug:echoPackagingbin/samples-debug.apk,andsigningitwithadebugkey.execDebugCertificateexpiredon8/4/083:43PM在Eclipse/ADT下,你可以看到類似的錯(cuò)誤。解決這個(gè)問(wèn)題的簡(jiǎn)單方法是刪除debug.keystore文件。Linux/MacOSXT這個(gè)文件保存在/.android下,windowsXP下,文件保存在C:DocumentsandSettings<user>LocalSettingsApplicationDataAndroid。windowsV
23、ista下文件保存在C:Users<user>AppDataLocalAndroid。下次編譯時(shí),編譯工具將生成新的密鎖和密鑰。注意:如果你的開(kāi)發(fā)設(shè)備使用的是non-Gregorianlocale,編譯工具經(jīng)常錯(cuò)誤的生成一個(gè)過(guò)期的調(diào)試證書,因此編譯的時(shí)候你會(huì)得到錯(cuò)誤提示。對(duì)于解決信息,請(qǐng)參見(jiàn)疑難解答專題Ican'tcompilemyappbecausethebuildtoolsgeneratedanexpireddebugcertificate.使用ApiDemo示例應(yīng)用程序AndroidSDK包含了一套示例程序,他們驗(yàn)證了許多功能以及API的用法。ApiDemos軟件包被
24、提前安裝在模擬器中,所以你可以啟動(dòng)模擬器,在主畫面的應(yīng)用程序抽屜里打開(kāi)它。你也可以在<SDK>/samples/ApiDemos中找到源碼,可用看看它,學(xué)習(xí)Demofl勺實(shí)現(xiàn)方法。如果你愿意,你還可以將ApiDemo的示例程序作為一個(gè)工程加載進(jìn)來(lái),修改并在模擬器上運(yùn)行。然而,在這之前你首先要卸載之前已經(jīng)安裝的ApiDemos如果你沒(méi)有移除之前安裝的版本而直接在開(kāi)發(fā)環(huán)境中運(yùn)行或修改ApiDemos,將會(huì)有安裝錯(cuò)誤。關(guān)于如何卸載和重裝ApiDemo可以參考Ican'tinstallApiDemosappsinmyIDEbecauseofasigningerror.這樣你就可以在
25、你的開(kāi)發(fā)環(huán)境中工作了。調(diào)試Android有相當(dāng)廣泛的一套工具幫助你調(diào)試你的應(yīng)用程序:DDMS一個(gè)生動(dòng)的程序,它支持端口轉(zhuǎn)換(因此你可以在IDE中給你的代碼下端點(diǎn)),支持抓取模擬器屏幕,線程和堆棧信息,以及許多其他功能。你還可以運(yùn)行l(wèi)ogcat重新獲得Log信息。點(diǎn)擊此連接查看更多信息。logcat-轉(zhuǎn)儲(chǔ)系統(tǒng)信息,這些信息包括,模擬器拋出錯(cuò)誤時(shí)堆棧的運(yùn)行過(guò)程以及日志信息。運(yùn)行l(wèi)ogcat,點(diǎn)擊此連接。I/MemoryDealer(763):MemoryDealer(this=0x54bda0):Creating2621440bytesheapat0x438db000I/Logger(1858):
26、getView()requestingitemnumber0I/Logger(1858):getView()requestingitemnumber1I/Logger(1858):getView()requestingitemnumber2D/ActivityManager(763):Stopping:HistoryRecord409dbb20com.android.home.AllAppsAndroidLog-輸出模擬器上log文件信息日志類。如果你在DDMSt運(yùn)行了logcat,你可以實(shí)時(shí)閱讀這些信息。在你的代碼中添加logging方法的調(diào)用。使用log類,你可以根據(jù)你想獲得信息的重要程度
27、不同調(diào)用Log.v(verbose),Log.d()(debug),Log.i()(information),Log.w()(warning)或者Log.e(error).來(lái)分派log信息Log.i("MyActivity","MyClass.getView()Requestingitemnumber"+position)你可以用logcat閱讀這些信息。Traceview-Android可以將函數(shù)的調(diào)用情況以及調(diào)用時(shí)間保存到一個(gè)log文件中,你可以用圖形閱讀器Traceview查看詳細(xì)內(nèi)容。更多信息查看這個(gè)連接下的主題Eclipseplugin-Ecl
28、ipse插件整合了相當(dāng)數(shù)量的工具(ADBDDMSogcatoutput,以及其它功能),點(diǎn)擊此連接查看更多信息。DebugandTestDeviceSettings-Android揭示了很多有用的設(shè)定,例如CPU使用率和幀速率,參看下面的DebugandTestSettingsontheEmulatorAlso,seetheTroubleshootingsectionofthedoctofigureoutwhyyourapplicationisn'tappearingontheemulator,orwhyit'snotstarting.此外,參看疑難解答這一節(jié)文檔,以找出您的應(yīng)
29、用程序?yàn)槭裁礇](méi)有出現(xiàn)在模擬器上,或?yàn)槭裁床婚_(kāi)始。設(shè)備上的調(diào)試和測(cè)試設(shè)置Android允許你設(shè)置多個(gè)設(shè)定以便你測(cè)試和調(diào)試程序。獲得模擬器的開(kāi)發(fā)設(shè)置,可以選擇DevTools>DevelopmentSettings。按照以下選項(xiàng)將打開(kāi)開(kāi)發(fā)設(shè)置頁(yè)(或其中之一):Debugapp選擇要被調(diào)試的程序,你不需要設(shè)置這個(gè)來(lái)關(guān)聯(lián)調(diào)試器,但是這個(gè)變量有兩個(gè)彳乍用:防止Android在調(diào)試的斷點(diǎn)處長(zhǎng)時(shí)間停留時(shí)拋出錯(cuò)誤。允許你選擇WaitforDebugger選項(xiàng)來(lái)暫停程序啟動(dòng),直到調(diào)試器被關(guān)聯(lián)上(如下介紹)Waitfordebugger阻塞程序加載直到關(guān)聯(lián)上調(diào)試器。這樣你可以在onCreate()中設(shè)置端點(diǎn)
30、,這在調(diào)試Activity的啟動(dòng)進(jìn)程時(shí)很重要。當(dāng)你改變這個(gè)選項(xiàng),任何當(dāng)前運(yùn)行的程序?qū)嵗龑⒈粴⑺?。為選中此框,你必須如上面介紹的選擇一個(gè)調(diào)試程序。這和在代碼中添加waitForDebugger()是一樣的。Immediatelydestroyactivities告訴系統(tǒng)只要activity停止了就銷毀它。(猶如Android必須回收內(nèi)存).這個(gè)在測(cè)試onSaveInstanceState(Bundle)/onCreate(android.os.Bundle)代碼路徑時(shí)非常有用,否則將難以生效.選擇這個(gè)選項(xiàng)可能帶來(lái)很多問(wèn)題,因?yàn)樗麄儧](méi)有保存程序的狀態(tài)。Showscreenupdates選中這個(gè)選項(xiàng)
31、時(shí),屏幕上任何被重繪的矩形區(qū)域會(huì)閃現(xiàn)粉紅色。這對(duì)于發(fā)現(xiàn)屏幕不必要的繪圖很有用。ShowCPUusage在屏幕頂端顯示一個(gè)CPU!度,顯示CPU勺使用情況。上面紅色欄顯示總的CPUS用率,下方綠色欄顯示目前畫面的CPUS用時(shí)間。注意:一旦打開(kāi)次功能就不能關(guān)掉,除非重新啟動(dòng)模擬器。?Showbackground沒(méi)有activity屏幕顯示時(shí)顯示背景面板,這個(gè)通常在調(diào)試的時(shí)候才會(huì)發(fā)生。模擬器重起后這些設(shè)置仍被記憶。頂端調(diào)試技巧快速堆棧轉(zhuǎn)儲(chǔ)從模擬器上獲得堆轉(zhuǎn)儲(chǔ),你可以登錄adbshell,用“ps"命令找到你想要的進(jìn)程,然后用"kill-3”,堆棧使用軌跡將顯示在log文件中。在模
32、擬器屏幕上顯示有用信息設(shè)備可以顯示一些有用信息,例如CPU®用率,以及高亮顯示重繪區(qū)域。可以在開(kāi)發(fā)設(shè)定窗口打開(kāi)和關(guān)閉這些功能。Settingdebugandtestconfigurationsontheemulator.中有詳細(xì)介紹。你可以通過(guò)DalvikDebugMonitorService工具獲得轉(zhuǎn)儲(chǔ)狀態(tài)信息。請(qǐng)參考adb中介紹的dumpsysanddumpstate獲得模擬器中應(yīng)用程序狀態(tài)信息(dumpsys)你可以通過(guò)DalvikDebugMonitorService工具獲得dumpsys信息。參考adb中介紹的dumpsysanddumpstate。獲得無(wú)線連接信息你可以通
33、過(guò)DalvikDebugMonitorService工具獲得無(wú)線連接信息。在Device菜單中選擇"Dumpradiostate"記錄跟蹤數(shù)據(jù)你可以在activity中通過(guò)調(diào)用android.os.Debug.startMethodTracing()來(lái)記錄函數(shù)的調(diào)用以及其它跟蹤數(shù)據(jù)。詳細(xì)的參考RunningtheTraceviewDebuggingProgram。記錄無(wú)線數(shù)據(jù)默認(rèn)情況下系統(tǒng)不記錄無(wú)線數(shù)據(jù)(數(shù)據(jù)很多)。然而,你可以用下面的命令記錄無(wú)線數(shù)據(jù):adbshelllogcat-bradio運(yùn)行adbAndroid有adb工具,他提供了許多功能,包括移動(dòng)和同步文件到模擬
34、器上,改變端口,在模擬器上運(yùn)行UNIXshell。詳見(jiàn)Usingadb。獲得模擬器屏幕截圖DalvikDebugMonitorServer(DDMS)可以抓取模擬器屏幕截圖。使用調(diào)試幫助類Android為方便使用提供了調(diào)試幫助類,例如util.Log和Debug編譯安裝Anroid應(yīng)用程序Android要求專門的編譯工具可以正確的編譯資源文件和應(yīng)用程序的其他部分,因此,你必須為你的應(yīng)用程序建立一個(gè)專門的編譯環(huán)境。專門Android編譯器編譯步驟包括,編譯XMLft其他資源文件并創(chuàng)建合適的輸出格式。編譯好的Android應(yīng)用程序是一個(gè).apk壓縮文件,它含有.dex文件,資源文件,原data文件,以及其他文件。你可以通過(guò)scratch,或者源文件構(gòu)造一個(gè)合適的Android工程。Android目前不支持的在本地代碼上開(kāi)發(fā)第三方應(yīng)用程序。比較推薦的Andriod應(yīng)用程序開(kāi)發(fā)方法是useEclipsewiththeAndroidplugin,它支持編譯,運(yùn)行,調(diào)試Android
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交五四活動(dòng)方案
- 公交分局宣講活動(dòng)方案
- 公交集團(tuán)捐贈(zèng)活動(dòng)方案
- 公眾號(hào)活動(dòng)方案方案
- 公會(huì)交友活動(dòng)方案
- 公會(huì)策劃活動(dòng)方案
- 公共課教研活動(dòng)方案
- 公關(guān)營(yíng)銷活動(dòng)方案
- 長(zhǎng)大的愿望我的夢(mèng)想想象作文(10篇)
- 陽(yáng)光房合同協(xié)議書
- 礦山安全培訓(xùn)課件
- 檢驗(yàn)科工作人員健康管理制度(3篇)
- 湖北省武漢市東湖高新區(qū)2022-2023學(xué)年小升初總復(fù)習(xí)數(shù)學(xué)測(cè)試題含答案
- 擬采用的新技術(shù)、新工藝、新材料
- 新編跨文化交際英語(yǔ)教程 復(fù)習(xí)總結(jié)
- 下半年四川省宜賓市中級(jí)人民法院遴選公務(wù)員6人參考題庫(kù)+答案詳解
- 污水處理設(shè)施運(yùn)維方案
- 一條狗的使命
- 教學(xué)設(shè)計(jì)專題研究:大概念視角下的單元教學(xué)設(shè)計(jì)智慧樹(shù)知到答案章節(jié)測(cè)試2023年浙江大學(xué)
- 喪假證明【范本模板】
- 大國(guó)兵器(中北大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
評(píng)論
0/150
提交評(píng)論