書名: Android 5從入門到精通作者名: 李波本章字數: 2392字更新時間: 2021-03-19 15:28:58
2.3 Android SDK介紹
SDK(software development kit)軟件開發工具包,是軟件開發工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合。Android SDK就是Android專屬的軟件開發工具包。
2.3.1 Android SDK目錄結構
Android SDK解壓即可完成安裝,其中包含的文件、文件夾如圖2.10所示。

圖2.10 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目錄。lib目錄中只有dx.jar文件,為平臺工具啟動dx.bat時加載并使用jar包里的。
●aapt.exe。主要作用是把開發的應用打包成apk安裝文件,如果用eclipse開發,就不用通過命令窗口輸入命令+參數實現打包。
●adb.exe。Adb即Android Debug Bridge調試橋,可以通過它連接Android手機(或模擬器)和與PC端,可以在PC端上控制手機的操作。如果用Eclipse開發,一般情況下adb會自動啟動,之后我們可以通過DDMS來調試Android程序。
●aidl.exe。AIDL全稱Android Interface Definition Language,是Android內部進程通信接口的描述語言,用于生成可以在Android設備進行進程間通信(IPC)的代碼。
●dexdump.exe。使用dexdump可以反編譯.dex文件,例如dex文件里包含3個類,反編譯后也會出現3個.class文件,通過對這些文件可以大概了解原始的java代碼。
●dx.bat。其功能是將.class字節碼文件轉成Android字節碼.dex文件。
●fastboot.exe。通過fastboot可以重啟系統、重寫內核、查看連接設備、寫分區、清空分區等操作。
●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強烈推薦初學者進行學習,對于SQLite數據庫操作可以查看NotePad例子,對于游戲開發可以參考Snake和LunarLander,對于Android主題開發Home則是Android 5時代的主題設計原理。
(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平臺上重要的調試工具。
2.3.2 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元素(大部分是可見的)在應用程序的屏幕中使用。
2.3.3 Android API核心包
SDK中集成了很多開發應用的API,它們是通過Android SDK來編寫應用程序的基礎,這里我們從最底層到最高層列出核心包并加以說明。
●Android.util:包含一些底層輔助類,例如:特定的容器類,XML輔助工具類等。
●Android.os:提供基本的操作服務,消息傳遞和進程間通信IPC。
●Android.graphics:作為圖形渲染包,提供圖形渲染功能。
●Android.text Android.text.method Android.text.style Android.text.util:提供一套豐富的文本處理工具,支持富文本,輸入模式等。
●Android.database:包含底層API處理數據庫,方便操作數據庫表和數據。
●Android.content:提供各種服務訪問數據在手機設備上,程序安裝到手機設備和其他相關資料。
●Android.view:核心用戶界面框架。
●Android.widget:提供標準用戶界面元素,List(列表),Buttons(按鈕),Layout manager(布局管理器)等,是組成我們界面的基本元素。
●Android.app:提供高層應用程序模型,實現使用Activity。
●Android.provider:提供方便調用系統提供的content providers的接口。
●Android.telephony:提供API和手機設備的通話接口。
●Android.webikit:包含一系列工作在基于Web內容的API。
2.3.4 Android API擴展包
核心的Android API在每部手機上都可使用,但仍然有一些API接口有各自特別的適用范圍:這就是所謂的“可選API”。這些API之所以是“可選的”,主要是因為一個手持設備并不一定要完全支持這類API,甚至于完全不支持。
●Location-Based Services定位服務。Android操作系統支持GPS API-LBS,可以通過集成GPS芯片來接收衛星信號通過GPS全球定位系統中至少3顆衛星和原子鐘來獲取當前手機的坐標數據,通過轉換就可以成為地圖上的具體位置了,這一誤差在手機上可以縮小到10米。在谷歌開發手機聯盟中可以看到著名的SiRF star。所以未來gPhone手機上市時集成GPS后的價格不會很貴。同時谷歌正在研制基于基站式的定位技術-MyLocation可以更快速地定位與前者GPS定位需要花費大約1分鐘相比基站定位更快。
●Media APIs多媒體接口。Android平臺上集成了很多影音解碼器以及相關的多媒體API,通過這些可選API,廠商可以讓手機支持MP3、MP4、高清晰視頻播放處理等。
●3D Graphics with OpenGL 3D圖形處理OpenGL可選API。Android平臺上的游戲娛樂功能如支持3D游戲或應用場景就需要用到3D技術,手機生產廠商根據手機的屏幕以及定位集成不同等級的3D加速圖形芯片來加強GPhone手機的娛樂性,有來自高通的消息稱最新的顯示芯片在GPhone上將會輕松超過索尼PS3。
●Low-Level Hardware Access低級硬件訪問。這個功能主要用于控制手機的底層方面操作,由于設計底層硬件操作,將主要由各個手機硬件生產廠商來定制,支持不同設備的操作管理等,如藍牙Bluetooth以及WIFI無線網絡支持等。
- AWS Serverless架構:使用AWS從傳統部署方式向Serverless架構遷移
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- Java持續交付
- Python數據結構與算法(視頻教學版)
- Visual Basic程序設計實踐教程
- Android開發案例教程與項目實戰(在線實驗+在線自測)
- Android玩家必備
- MongoDB,Express,Angular,and Node.js Fundamentals
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(2)
- 小型編譯器設計實踐
- Beginning C++ Game Programming
- 零基礎學C語言程序設計
- Python機器學習開發實戰
- SAP Web Dynpro for ABAP開發技術詳解:基礎應用
- R語言實戰(第2版)