http://blog.csdn.net/onlymetagain/article/details/53191746
SDK是Software Development Kit的縮寫,中文意思是“軟件開發(fā)工具包”。這是一個覆蓋面相當(dāng)廣泛的名詞,可以這么說:輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的組合,它為軟件的開發(fā)提供一個平臺(它為軟件開發(fā)使用各種API提供便利)。
JDK(Java Development Kit,Java開發(fā)工具包)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。
可以認(rèn)為jdk只是sdk的一種(子集),因?yàn)樗情_發(fā)java程序的一個平臺,開發(fā)其他程序的sdk可以沒有jdk。
比如你下載了一個軟件開發(fā)平臺 eclipse-SDK-3.2.2-win32.zip,它本身里面是沒有jdk的。
但是只要開發(fā)java程序就必須使用jdk(javaee和javase)。
我來打個比方吧:
SDK就像一臺機(jī)床(它可以是多用途的),它可以生產(chǎn)ABC等工件;
當(dāng)我們要生產(chǎn)A時,就給機(jī)床換上生產(chǎn)A的刀具a;
當(dāng)我們要生產(chǎn)B時就換上生產(chǎn)B的刀具b;
當(dāng)我們要生產(chǎn)C時就換上生產(chǎn)C的刀具c;
當(dāng)我們要用機(jī)床(SDK)生產(chǎn)java程序時,我們就給機(jī)床換上刀具jdk,于是就把安裝了jdk的SDK叫做java SDK.
JavaEE是專門為企業(yè)級應(yīng)用提供的一個開發(fā)工具包,它里面已經(jīng)包含了許多開發(fā)企業(yè)級應(yīng)用所需要的“組件”,它為J2EE的開發(fā)提供了一個便利的開發(fā)平臺,所以它就直接叫JavaEE SDK了。
不知道說明白了沒有,都是些概念性的東西,其實(shí)你也可以理解jdk就是java SDK。
tools和build-tools包含了太多好用的工具,每個單獨(dú)拿出來都可以介紹一大篇,建議題主先去官方文檔了解一下,如果想深入的話,可以看看源碼。比如adb的源碼其實(shí)就蠻有意思的,已經(jīng)有人把a(bǔ)db移植到Ubuntu,這樣adb就可以識別任何你想識別的設(shè)備。
Platform(Google APIs),主要是提供你開發(fā)時候要使用的那個版本api。比如你開發(fā)中如果用到了5.0的api,那么你就要安裝5.0的sdkGoogle APIS中包含了如google map 等一些android.jar中沒有的東西。例如你想在android里做google map的應(yīng)用,就需要引入google APIS了,打包了Google服務(wù)的Framework,比正常使用的android.jar里多了一些東西(比如 Google Play Service / Google map 之類的).
Platform-tools一般是提供一些特殊功能函數(shù)的頭文件和庫文件,可視為VC的加強(qiáng)工具包,也是VC的有利必要的補(bǔ)充。中文翻譯就是:“平臺開發(fā)工具包”,英文全稱“(Windows) Platform Software Develope Kit”
sources for sdk就是SDK的源代碼啊,在android-sdk/sources目錄下,主要是ListView、View這些類的java文件啊。是模擬器的API Demo的源文件
document for android sdk安卓的接口文檔,解釋方法
android support repository主要是方便在gradle中使用android support libraries,因?yàn)镚oogle并沒有把這些庫發(fā)布到maven center或者jcenter去,而是使用了Google自己的maven倉庫。
support library就是提供suppport庫給你用的,比如support v4,support v7。
google repository主要是給gradle使用的,方面添加比如Google Play Service的引用。這樣gradle就可以使用google的maven倉庫中的庫了,而不需要去maven centee或者jcenter了。
根據(jù)官方文檔的描述
SDK Tools 必須
SDK Platform-tools 必須
SDK Build-tools必須
SDK Platform必須至少安裝一個版本
System Image建議安裝
Android Support建議安裝
SDK Samples建議安裝
sdk tools:針對pc平臺下使用的工具:比如模擬器,.9patch工具,性能追蹤可視化工具traceview,
platform-tools:針對pc端和移動端進(jìn)行交互的一些工具:比如adb工具(通過該工具pc端獲取移動端log信息),sqlite3工具(通過該工具查詢移動端數(shù)據(jù)庫信息)
build-tools:aapt工具,aidl工具
aapt編譯資源文件得到二進(jìn)制xml和R.java
aidl工具將aidl文件--java interface