參考網址:

SDK是Software Development Kit的縮寫,中文意思是“軟體開發工具包”。這是一個覆蓋面相當廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做“SDK”。SDK是一系列檔案的組合,它為軟體的開發提供一個平臺(它為軟體開發使用各種API提供便利)。

JDK(Java Development Kit,Java開發工具包)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。

可以認為jdk只是sdk的一種(子集),因為它是開發java程式的一個平臺,開發其他程式的sdk可以沒有jdk。

比如你下載了一個軟體開發平臺 eclipse-SDK-3.2.2-win32.zip,它本身裡面是沒有jdk的。

但是隻要開發java程式就必須使用jdk(javaee和javase)。

我來打個比方吧:

SDK就像一臺機床(它可以是多用途的),它可以生產ABC等工件;

當我們要生產A時,就給機床換上生產A的刀具a;

當我們要生產B時就換上生產B的刀具b;

當我們要生產C時就換上生產C的刀具c;

當我們要用機床(SDK)生產java程式時,我們就給機床換上刀具jdk,於是就把安裝了jdk的SDK叫做java SDK.

JavaEE是專門為企業級應用提供的一個開發工具包,它裡面已經包含了許多開發企業級應用所需要的“元件”,它為J2EE的開發提供了一個便利的開發平臺,所以它就直接叫JavaEE SDK了。

不知道說明白了沒有,都是些概念性的東西,其實你也可以理解jdk就是java SDK。

安卓版本簡表

安卓SDK裡面的一些包的說明

tools和build-tools包含了太多好用的工具,每個單獨拿出來都可以介紹一大篇,建議題主先去官方文件瞭解一下,如果想深入的話,可以看看原始碼。比如adb的原始碼其實就蠻有意思的,已經有人把adb移植到Ubuntu,這樣adb就可以識別任何你想識別的裝置。

PlatformGoogle APIs),主要是提供你開發時候要使用的那個版本api。比如你開發中如果用到了5.0的api,那麼你就要安裝5.0的sdkGoogle APIS中包含了如google map 等一些android.jar中沒有的東西。例如你想在android裡做google map的應用,就需要引入google APIS了,打包了Google服務的Framework,比正常使用的android.jar裡多了一些東西(比如 Google Play Service / Google map 之類的).

Platform-tools一般是提供一些特殊功能函式的標頭檔案和庫檔案,可視為VC的加強工具包,也是VC的有利必要的補充。中文翻譯就是:“平臺開發工具包”,英文全稱“(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,因為Google並沒有把這些庫釋出到maven center或者jcenter去,而是使用了Google自己的maven倉庫。
support library就是提供suppport庫給你用的,比如support v4,support v7。

google repository主要是給gradle使用的,方面新增比如Google Play Service的引用。這樣gradle就可以使用google的maven倉庫中的庫了,而不需要去maven centee或者jcenter了。

根據官方文件的描述
SDK Tools 必須
SDK Platform-tools 必須

SDK Build-tools必須
SDK Platform必須至少安裝一個版本
System Image建議安裝
Android Support建議安裝
SDK Samples建議安裝

sdk tools:針對pc平臺下使用的工具:比如模擬器,.9patch工具,效能追蹤視覺化工具traceview,

platform-tools:針對pc端和移動端進行互動的一些工具:比如adb工具(通過該工具pc端獲取移動端log資訊),sqlite3工具(通過該工具查詢移動端資料庫資訊)

build-tools:aapt工具,aidl工具   

aapt編譯資原始檔得到二進位制xml和R.java

aidl工具將aidl檔案--java interface