想要開發(fā)Android,必不可少的就是Android SDK,因此了解SDK是必不可少的。這篇博客就是寫有關Android SDK的。
Android SDK結構
add-ons
這里面保存著附加庫,比如 GoogleMaps,當然你如果安裝了 OphoneSDK,這里也會有一些類庫在里面。-
build-tools
保存著一些 Android 平臺相關通用工具,比如 adb、和 aapt、aidl、dx 等文件。aapt
Android Asset Packaging Tool , 該工具可以查看, 創(chuàng)建, 更新ZIP格式的文檔附件(zip, jar, apk),也可將資源文件編譯成二進制文件。adb
android debug bridge 管理模擬器和真機的萬能工具。AIDL
Android Interface definition language,它是一種 Android 內(nèi)部進程通信接口的描述語言,通過它我們可以定義進程間的通信接口。Dexdump
Android Emulator 中可以找到一個名為 dexdump 的程序,通過 dexdump 可以查看出 apk 文件中的dex執(zhí)行情況,粗略分析出原始java代碼是什么樣的,和Dot Net中的Reflector很像。dx
Dx gongju 將.class字節(jié)碼(bytecode)轉換為Android字節(jié)碼(保存在.dex文件中)。
docs
這里面是Android SDK API參考文檔,所有的API都可以在這里查到。extras
該文件夾下存放了google提供的USB驅動、Intel提供的硬件加速等附加工具包。-
platforms
這是每個版本的SDK真正的文件,存放了不同版本的android系統(tǒng)。里面會根據(jù)APILevel劃分SDK版本。android.jar
是該版本的主要framework文件。data
保存著一些系統(tǒng)資源。skins
是Android模擬器的皮膚。templates
工程創(chuàng)建的默認模板。
-
platform-tools
保存著一些Android平臺相關通用工具,比如adb、和aapt、aidl、dx等文件,這里和platforms目錄中tools文件夾有些重復,主要是從android2.3開始這些工具被劃分為通用了。adb
可以讓你在模擬器或設備上安裝應用程序的.apk文件,并從命令行訪問模擬器或設備。你也可以用它把Android模擬器或設備上的應用程序代碼和一個標準的調(diào)試器連接在一起。Fastboot
刷機工具。sqlite3
這個工具能夠讓你方便地訪問SQLite數(shù)據(jù)文件。這些數(shù)據(jù)文件是由Android 應用程序創(chuàng)建并使用的。
samples
Android SDK自帶的默認示例工程,對于SQLite數(shù)據(jù)庫操作可以查看NotePad,對于游戲開發(fā)可以看Snake、LunarLander,對于Android主題開發(fā)Home則是android m5時代的主題設計原理。sources
Android源代碼。system-images
Android虛擬機的鏡像。-
tools
這里包含了android開發(fā)和調(diào)試的工具。draw9patch則是繪制android平臺的可縮放png圖片的工具,sqlite3可以在PC上操作SQLite數(shù)據(jù)庫, 而monkeyrunner則是一個不錯的壓力測試應用,模擬用戶隨機按鍵,mksdcard則是模擬器SD映像的創(chuàng)建工具,emulator是Android SDK模擬器主程序,不過從android 1.5開始,需要輸入合適的參數(shù)才能啟動模擬器,traceview作為android平臺上重要的調(diào)試工具。ant
ant編譯腳本。ddms
這個工具集成了Dalvik(為Android平臺定制的虛擬機(VM)),能夠讓你在模擬器或者設備上管理進程并協(xié)助調(diào)試。你可以使用它殺死進程,選擇某個特定的進程來調(diào)試,產(chǎn)生跟蹤數(shù)據(jù),觀察堆(heap)和線程信息,截取模擬器或設備的屏幕畫面,還有更多的功能。draw9patch
Draw 9-patch工具允許你使用所見即所得(WYSIWYG)的編輯器輕松地創(chuàng)建NinePatch圖形。它也可以預覽經(jīng)過拉伸的圖像,高亮顯示內(nèi)容區(qū)域。emulator
Android SDK模擬器主程序,不過從android1.5開始,需要輸入合適的參數(shù)才能啟動模擬器。Hierarchy Viewer
層級觀察器工具允許你調(diào)試和優(yōu)化你的用戶界面。它用可視的方法把你視圖(view)的布局層次展現(xiàn)出來,此外還給當前界面提供了一個具有像素柵格(grid)的放大鏡觀察器,這樣你就可以正確地布局了。monkeyrunner
一個不錯的壓力測試應用,模擬用戶隨機按鍵。mksdcard
模擬器SD映像的創(chuàng)建工具。templates
工程創(chuàng)建的默認模板。traceview
這個工具可以將你的Android 應用程序產(chǎn)生的跟蹤日志(trace log)轉換為圖形化的分析視圖。
Android SDK工具詳解
Android SDK包含了各種各樣的定制工具。
-
Android Emulator(Android模擬器)
它是在你的計算機上運行的一個虛擬移動設備。你可以使用模擬器來在一個實際的Android運行環(huán)境下設計,調(diào)試和測試你的應用程序。 -
Adb
Android Debug Bridge(Android調(diào)試橋)工具可以讓你在模擬器或設備上安裝apk文件,并從命令行訪問模擬器或設備。你也可以用它把Android模擬器或設備上的應用程序代碼和一個標準的調(diào)試器連接在一起。 -
Hierarchy Viewer(層級觀察器)
層級觀察器工具允許你調(diào)試和優(yōu)化你的用戶界面。它用可視的方法把你的視圖(view)的布局層次展現(xiàn)出來,此外還給當前界面提供了一個具有像素柵格(grid)的放大鏡觀察器,這樣你就可以正確地布局了。 -
draw9patch
Draw 9-patch工具允許你使用所見即所得(WYSIWYG)的編輯器輕松地創(chuàng)建NinePatch圖形。它也可以預覽經(jīng)過拉伸的圖像,高亮顯示內(nèi)容區(qū)域。 -
Dalvik Debug Monitor Service(Dalvik 調(diào)試監(jiān)視器服務)
這個工具集成了Dalvik(為Android平臺定制的虛擬機(VM)),能夠讓你在模擬器或者設備上管理進程并協(xié)助調(diào)試。你可以使用它殺死進程,選擇某個特定的進程來調(diào)試,產(chǎn)生跟蹤數(shù)據(jù),觀察堆(heap)和線程信息,截取模擬器或設備的屏幕畫面,還有更多的功能。 -
Android Asset Packaging Tool (aapt)
可以讓你在模擬器或設備上安裝應用程序的.apk文件,并從命令行訪問模擬器或設備。你也可以用它把Android模擬器或設備上的應用程序代碼和一個標準的調(diào)試器連接在一起。 -
sqlite3
這個工具能夠讓你方便地訪問SQLite數(shù)據(jù)文件。這些數(shù)據(jù)文件是由Android 應用程序創(chuàng)建并使用的。 -
traceview
這個工具可以將你的Android 應用程序產(chǎn)生的跟蹤日志(trace log)轉換為圖形化的分析視圖。 -
mksdcard
幫助你創(chuàng)建磁盤映像(disk image),你可以在模擬器環(huán)境下使用磁盤映像來模擬外部存儲卡(例如SD 卡)。 -
dx
Dx gongju 將.class字節(jié)碼(bytecode)轉換為Android字節(jié)碼(保存在.dex文件中)。 -
UI/Application Exerciser Monkey
Monkey是在模擬器上或設備上運行的一個小程序,它能夠產(chǎn)生隨機的用戶事件流,例如點擊(click),觸摸(touch),手勢(gestures),還有一系列的系統(tǒng)級事件。你可以使用Monkey來給你正在開發(fā)的程序做隨機的、可重復的壓力測試。