Android SDK是什麼

SDK (Software Development Kit) 軟件開發工具包是軟件開發工程師用於爲特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合Android SDK 就是 Android 專屬的軟件開發工具包。

Android SDK 目錄結構

Android SDK 解壓即可完成安裝,其中包含的文件、文件夾如圖 1 所示。


圖 1  Android SDK 目錄結構圖

1) add-ons

該目錄中存放 Android 的擴展庫,比如 Google Maps,但若未選擇安裝 Google API,則該目錄爲空。

2) docs

該目錄是 developer.Android.com 的開發文檔,包含 SDK 平臺、工具、ADT 等的介紹,開發指南,API 文檔,相關資源等。

3) extras

該目錄用於存放 Android 附加支持文件,主要包含 Android 的 support 支持包、Google 的幾個工具和驅動、Intel 的 IntelHaxm。

4) platforms

該目錄用於存放 Android SDK Platforms 平臺相關文件,包括字體、res 資源、模板等。

5) platform-tools

該目錄包含各個平臺工具,其中主要包含以下幾部分。

名稱 作用
api 目錄 api-versions.xml 文件,用於指明所需類的屬性、方法、接口等
lib 目錄 目錄中只有 dx.jar 文件,爲平臺工具啓動 dx.bat 時加載並使用 jar 包裏的類
aapt.exe 把開發的應用打包成 APK 安裝文件,如果用 Eclipse 開發,就不用通過命令窗口輸入命令+參數實現打包
adb.exe (Android Debug Bridge 調試橋) 通過它連接 Android 手機(或模擬器)與 PC 端,可以在 PC 端上控制手機的操作。如果用 Eclipse 開發,一般情況 下 ADB 會自動啓動,之後我們可以通過 DDMS 來調試 Android 程序。
aidl.exe (Android Interface Definition Language) Android 內部進程通信接口的描述語言,用於生成可以在 Android 設備進行進程間通信 (Inter-Process Communication,IPC) 的代碼
dexdump.exe 可以反編譯 .dex 文件,例如 .dex 文件裏包含 3 個類,反編譯後也會出現 3 個 .class 文件,通過這些文件可以大概瞭解原始的 Java 代碼。(dump是轉儲的意思)
dx.bat 將 .class 字節碼文件轉成 Android 字節碼 .dex 文件
fastboot.exe 可以進行重啓系統、重寫內核、查看連接設備、寫分區、清空分區等操作
Android llvm-rs-cc.exe Renderscript 採用 LLVM 低階虛擬機,llvm-rs-cc.exe 的主要作用是對 Renderscript 的處理
NOTICE.txt 和 source.properties NOTICE.txt 只是給出一些提示的信息;source.properties 是資源屬性信息文件,主要顯示該資源生成時間、系統類型、資源 URL 地址等。

6) samples

samples 是 Android SDK 自帶的默認示例工程,裏面的 apidemos 強烈推薦初學者學習。

7) system-images

該目錄存放系統用到的所有圖片。

8) temp

該目錄存放系統中的臨時文件。

9) tools

作爲 SDK 根目錄下的 tools 文件夾,這裏包含重要的工具,比如 ddms 用於啓動 Android 調試工具,如 logcat、屏幕截圖和文件管理器;而 draw9patch 則是繪製 Android 平臺的可縮放 PNG 圖片的工具;sqlite3 可以在 PC 上操作 SQLite 數據庫;而 monkeyrunner 則是一個不錯的壓力測試應用,模擬用戶隨機按鈕;mksdcard 是模擬器 SD 映像的創建工具;emulator 是 Android 模擬器主程序,不過從 Android 1.5 開始,需要輸入合適的參數才能啓動模擬器;traceview 是 Android 平臺上重要的調試工具。 

Android.jar

作爲一個 Java 項目,通常情況下都會引入要用到的工具類,也就是 JAR 包。

在 Android 開發中,絕大部分開發用的工具包都被封裝到一個名叫 Android.jar 的文件裏了。在 Eclipse 中展開來看,可以看到 J2SE 中的包、Apache 項目中的包,還有 Android 自身的包文件。Android 的包文件主要包括以下內容: 

名稱 作用
Android.app 提供高層的程序模型和基本的運行環境
Android.content 包含各種對設備上的數據進行訪問和發佈的類
Android.database 通過內容提供者瀏覽和操作數據庫
Android.graphics 底層的圖形庫
Android.location 定位和相關服務的類
Android.media 提供一些類管理多種音頻、視頻的媒體接口
Android.net 提供幫助網絡訪問的類,超過通常的 java.net.* 接口
Android.os 提供系統服務、消息傳輸、IPC 機制
Android.openg 提供 OpenGL 的工具
Android.provider 提供類,訪問 Android 的內容提供者
Android.telephony 提供與撥打電話相關的 API 交互
Android.view 提供基礎的用戶界面接口框架
Android.util 涉及工具性的方法,例如時間日期的操作
Android.webkit 默認瀏覽器操作接口
Android.widget 包含各種 UI 元素(大部分是可見的)在應用程序的屏幕中使用

Android API 擴展包

核心的 Android API 在每部手機上都可以使用,但仍然有一些 API 接口有各自特別的適用範圍,這就是所謂的“可選API”。這些 API 之所以是“可選的”,主要是因爲一個手持設備並不一定要完全支持這類 API,甚至可以完全不支持。

1) Location-Based Services(定位服務)

Android 操作系統支持 GPS API-LBS,可以通過集成 GPS 芯片來接收衛星信號,通過 GPS 全球定位系統中至少 3 顆衛星和原子鐘來獲取當前手機的座標數據,通過轉換就可以成爲地圖上的具體位置,這一誤差在手機上可以縮小到 10 米。在谷歌開發手機聯盟中可以看到著名的 SiRF star。所以未來 gPhone 手機上市時集成 GPS 後的價格不會很貴。

同時,谷歌正在研製基於基站式的定位技術——MyLocation,可以更快速地定位,與前者 GPS 定位需要花費大約 1 分鐘相比,基站定位更快。

2) Media APIs(多媒體接口)

Android 平臺上集成了很多影音解碼器以及相關的多媒體 API,通過這些可選 API,廠商可以讓手機支持 MP3、MP4、高清晰視頻播放處理等。

3) 3D Graphics with OpenGL(3D 圖形處理 OpenGL)

可選 API。Android 平臺上的遊戲娛樂功能,如支持 3D 遊戲或應用場景就需要用到 3D 技術,手機生產廠商根據手機的屏幕以及定位集成不同等級的 3D 加速圖形芯片來加強 gPhone 手機的娛樂性,有來自高通的消息稱,最新的顯示芯片在 gPhone 上將會輕鬆超過索尼 PS3。

4) Low-Level Hardware Access(低級硬件訪問)

這個功能主要用於控制手機的底層方面操作,設計底層硬件操作將主要由各個手機硬件生產廠商來定製,支持不同設備的操作管理,如藍牙 (Bluetooth) 以及 WIFI 無線網絡支持等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章