- Android游戲開(kāi)發(fā)技術(shù)實(shí)戰(zhàn)詳解
- 褚尚軍 張加春編著
- 946字
- 2018-12-30 05:33:11
2.1 簡(jiǎn)析Android安裝文件
當(dāng)下載并安裝Android SDK后,會(huì)在安裝目錄下看到一些安裝文件。下面就對(duì)這些安裝文件進(jìn)行介紹。
2.1.1 Android SDK目錄結(jié)構(gòu)
安裝Android SDK后,呈現(xiàn)在用戶(hù)面前的是如圖2-1所示的目錄結(jié)構(gòu)。

圖2-1 AndroidSDK安裝目錄
· add-ons:包含官方提供的API包,如常用的Google Map API。
· docs:包含幫助文檔和說(shuō)明文檔。
· platforms:包含針對(duì)每個(gè)SDK版本,提供了與其對(duì)應(yīng)的API包以及一些示例文件,其中包含了各版本的Android,如圖2-2所示。

圖2-2 platforms目錄
· temp:包含一些常用的文件模板。
· tools:包含一些通用的工具文件。
· usb_driver:包含了AMD64和X86下的驅(qū)動(dòng)文件。
· SDK Setup.exe:Android的啟動(dòng)文件。
2.1.2 android.jar及內(nèi)部結(jié)構(gòu)
在“platforms”目錄下的每個(gè)Android版本中,都有一個(gè)名為“android.jar”的壓縮包。例如,在筆者的計(jì)算機(jī)中,“platforms\android-8”目錄中的內(nèi)容如圖2-3所示。

圖2-3 android.jar文件所在目錄
“android.jar”強(qiáng)大得有點(diǎn)出乎意料,竟然在里面包含了編譯后的壓縮文件、包含了所有有用的API,并且只需使用Windows系統(tǒng)下的解壓縮工具即可打開(kāi)。打開(kāi)“android.jar”壓縮包后的內(nèi)部結(jié)構(gòu)如圖2-4和圖2-5所示。

圖2-4 android.jar文件結(jié)構(gòu)1

圖2-5 android.jar文件結(jié)構(gòu)2
注意:上述各個(gè)文件,對(duì)于研究Android應(yīng)用開(kāi)發(fā)沒(méi)有多大幫助,但是對(duì)大家了解Android運(yùn)行機(jī)制和內(nèi)核卻有很大幫助。
2.1.3 閱讀SDK文檔需要技巧
在解壓縮文件“android.jar”之后,就可以了解其內(nèi)部API的包結(jié)構(gòu)和組織方式了。如果要深入理解各個(gè)文件包內(nèi)包含的API和API的具體用法,則需要花費(fèi)一定的精力和時(shí)間來(lái)研究它。
打開(kāi)SDK幫助文檔的方法非常簡(jiǎn)單,可以使用瀏覽器打開(kāi)“docs”目錄下的文件index.html,這個(gè)網(wǎng)頁(yè)就是SDK幫助文檔的主頁(yè),界面效果如圖2-6所示。

圖2-6 SDK文檔主頁(yè)
在如圖2-6所示的主頁(yè)中,介紹了Android基本概念和當(dāng)前常用版本,在右側(cè)和頂端導(dǎo)航中列出了一些常用的鏈接。此SDK文件對(duì)于初學(xué)者來(lái)說(shuō)十分重要,可以幫助初學(xué)者解決很多常見(jiàn)的問(wèn)題,是一個(gè)很好的學(xué)習(xí)文檔和幫助文檔。單擊導(dǎo)航中的“Dev Guide”按鈕,會(huì)打開(kāi)如圖2-7所示的界面。

圖2-7 SDK文檔索引
在如圖2-7所示的頁(yè)面中,左側(cè)是目錄索引鏈接,單擊某個(gè)鏈接后,在右側(cè)界面中將顯示對(duì)應(yīng)的說(shuō)明信息。如果要想迅速理解一個(gè)問(wèn)題或知識(shí)點(diǎn),可以在搜索對(duì)話(huà)框中通過(guò)輸入關(guān)鍵字的方式進(jìn)行快速檢索。說(shuō)到這里,想必有很多讀者會(huì)提出“英語(yǔ)水平有限,看不懂幫助文檔”的問(wèn)題。其實(shí)不必?fù)?dān)心,因?yàn)橛泻芏酂嵝牡某绦騿T和學(xué)者對(duì)這個(gè)幫助文檔進(jìn)行了翻譯,大家可以從網(wǎng)絡(luò)中獲取免費(fèi)的中文版幫助文檔。
2.1.4 不簡(jiǎn)單的SDK工具
“相愛(ài)沒(méi)那么簡(jiǎn)單”,使用Android SDK同樣也不簡(jiǎn)單。在前面搭建Android開(kāi)發(fā)環(huán)境時(shí),已經(jīng)接觸到了Android SDK中的一些開(kāi)發(fā)工具,如AVD模擬器。SDK中還集成了很多有用的開(kāi)發(fā)工具,這些工具能夠幫助用戶(hù)在A(yíng)ndroid平臺(tái)上開(kāi)發(fā)出實(shí)用的應(yīng)用程序。下面就和大家一起來(lái)領(lǐng)略Android SDK中這些有用的開(kāi)發(fā)工具。
· Android模擬器
模擬器是運(yùn)行在計(jì)算機(jī)上的虛擬移動(dòng)設(shè)備,有關(guān)模擬器的基本知識(shí)已經(jīng)在本書(shū)的第1章中進(jìn)行了詳細(xì)介紹,在此不再講解。
· 集成開(kāi)發(fā)插件ADT
Android為Eclipse定制了一個(gè)插件,即Android Development Tools(ADT),這個(gè)插件為用戶(hù)提供一個(gè)強(qiáng)大的綜合環(huán)境用于開(kāi)發(fā)Android應(yīng)用程序。ADT擴(kuò)展了Eclipse的功能,可以讓用戶(hù)快速地建立Android項(xiàng)目,創(chuàng)建應(yīng)用程序界面,在基于A(yíng)ndroid框架API的基礎(chǔ)上添加組件,以及用SDK工具集調(diào)試應(yīng)用程序,甚至導(dǎo)出簽名(或未簽名)的APK(Android Packages)以便發(fā)行應(yīng)用程序。
· 調(diào)試監(jiān)視服務(wù)ddms.bat
調(diào)試監(jiān)視服務(wù)ddms.bat集成在Dalvik(Android平臺(tái)的虛擬機(jī))中,用于管理運(yùn)行在模擬器或設(shè)備上的進(jìn)程,并協(xié)助調(diào)試工作。使用它可以進(jìn)行去除一些進(jìn)程、選擇一個(gè)特定的程序來(lái)調(diào)試、生成跟蹤數(shù)據(jù)、查看堆和線(xiàn)程數(shù)據(jù)、對(duì)模擬器或設(shè)備進(jìn)行屏幕快照等操作。
· Android調(diào)試橋adb.exe
Android調(diào)試橋(adb)是具有多種用途的工具,該工具可以幫助管理設(shè)備或模擬器的狀態(tài)。用戶(hù)可以通過(guò)下面的幾種方法加入adb。
①在設(shè)備上運(yùn)行shell命令;
②通過(guò)端口轉(zhuǎn)發(fā)來(lái)管理模擬器或設(shè)備;
③從模擬器或設(shè)備上復(fù)制來(lái)或復(fù)制走文件。
· Android資源打包工具aapt.exe:用于創(chuàng)建apk文件,在apk文件中包含了Android應(yīng)用程序的二進(jìn)制文件和資源文件。
· Android接口描述語(yǔ)言aidl.exe:用于生成進(jìn)程間接口代碼。
· SQLite3數(shù)據(jù)庫(kù)sqlite3.exe:可以創(chuàng)建和使用SQLite數(shù)據(jù)文件,和其他方式相比,開(kāi)發(fā)人員和用戶(hù)更樂(lè)意訪(fǎng)問(wèn)此類(lèi)型數(shù)據(jù)文件。
· 跟蹤顯示工具:可以生成跟蹤日志數(shù)據(jù)的圖形分析視圖,這些跟蹤日志數(shù)據(jù)由Android應(yīng)用程序產(chǎn)生。
·創(chuàng)建SD卡工具:用于創(chuàng)建磁盤(pán)鏡像,可以在模擬器上模擬外部存儲(chǔ)卡,如常見(jiàn)的SD卡。
· DX工具(dx.bat):將class字節(jié)碼重寫(xiě)為Android字節(jié)碼(被存儲(chǔ)在dex文件中)。
· 生成Ant構(gòu)建文件(activitycreator.bat)。
activitycreator.bat是一個(gè)腳本,用于生成Ant構(gòu)建文件。Ant構(gòu)建文件用于編譯Android應(yīng)用程序,如果在安裝ADT插件的Eclipse環(huán)境下開(kāi)發(fā),就不需要這個(gè)腳本了。
· Android虛擬設(shè)備
在A(yíng)ndroid SDK 1.5版以后的Android開(kāi)發(fā)中,必須創(chuàng)建至少一個(gè)AVD,每個(gè)AVD模擬了一套虛擬設(shè)備來(lái)運(yùn)行Android平臺(tái),這個(gè)平臺(tái)至少要有自己的內(nèi)核、系統(tǒng)圖像和數(shù)據(jù)分區(qū),還可以有自己的SD卡和用戶(hù)數(shù)據(jù)以及外觀(guān)顯示等。
- Mastering Node.js(Second Edition)
- 數(shù)據(jù)通信網(wǎng)絡(luò)實(shí)踐:基礎(chǔ)知識(shí)與交換機(jī)技術(shù)
- 面向物聯(lián)網(wǎng)的CC2530與傳感器應(yīng)用開(kāi)發(fā)
- Django 2 by Example
- Force.com Development Blueprints
- HCNA網(wǎng)絡(luò)技術(shù)
- 正在爆發(fā)的互聯(lián)網(wǎng)革命
- 網(wǎng)絡(luò)基礎(chǔ)與網(wǎng)絡(luò)管理項(xiàng)目化教程
- INSTANT KineticJS Starter
- Practical Web Penetration Testing
- 無(wú)線(xiàn)傳感器網(wǎng)絡(luò)定位技術(shù)
- 全聯(lián)網(wǎng)標(biāo)識(shí)服務(wù)
- Getting Started with tmux
- 互聯(lián)網(wǎng)視覺(jué)設(shè)計(jì)(全彩慕課版)
- CDN技術(shù)詳解