來源:http://blog.csdn.net/mooreliu/article/details/47167473
android
點擊打開連接StackOverFlow中對這個問題進行了詳細的討論:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsversion-vs-compilesdkversion工具
【結論】是:gradle
一、CompileSdkVersion是你SDK的版本號,也就是API Level,例如API-1九、API-20、API-21等等。ui
二、buildeToolVersion是你構建工具的版本,其中包括了打包工具aapt、dx等等。這個工具的目錄位於..your_sdk_path/build-tools/XX.XX.XX.net
這個版本號通常是API-LEVEL.0.0。 例如I/O2014大會上發佈了API20對應的build-tool的版本就是20.0.0debug
在這之間可能有小版本,例如20.0.1等等。orm
三、在ecplise的project.properties中能夠設置sdk.buildtools=17.0.0。也能夠不設置,不設置的話就是指定最新版本。而在android studio中是必須在build.gradle中設置。例如blog
compileSdkVersion 22開發
buildToolsVersion "22.0.1"get
四、你能夠用高版本的build-tool去構建一個低版本的sdk工程,例如build-tool的版本爲20,去構建一個sdk版本爲18的
例如:compileSdkVersion 18
buildToolsVersion "22.0.1"這樣也是OK的。
【Android SDK 功能解析】
先來看一下SDK的目錄
其中比較重要的目錄包括【build-tools】【platforms】【platform-tools】【tools】
【build-tools】裏面是不一樣版本(例如21.1.1)的build工具,這些工具包括了aapt打包工具、dx.bat、aidl.exe等等
【platform】是存放不一樣API-level版本SDK目錄的地方
【platform-tools】是一些android平臺相關的工具,adb、fastboot等
【tools】是指的安卓開發相關的工具,例如android.bat、ddms.bat(Dalvik debug Monitor Service)、draw9patch.bat等等