點(diǎn)擊打開(kāi)鏈接StackOverFlow中對(duì)這個(gè)問(wèn)題進(jìn)行了詳細(xì)的討論:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsversion-vs-compilesdkversion
【問(wèn)題的結(jié)論】就是:
1、CompileSdkVersion是你SDK的版本號(hào),也就是API Level,例如API-19、API-20、API-21等等。
2、buildeToolVersion是你構(gòu)建工具的版本,其中包括了打包工具aapt、dx等等。這個(gè)工具的目錄位于..your_sdk_path/build-tools/XX.XX.XX
這個(gè)版本號(hào)一般是API-LEVEL.0.0。 例如I/O2014大會(huì)上發(fā)布了API20對(duì)應(yīng)的build-tool的版本就是20.0.0
在這之間可能有小版本,例如20.0.1等等。
3、在ecplise的project.properties中可以設(shè)置sdk.buildtools=17.0.0。也可以不設(shè)置,不設(shè)置的話(huà)就是指定最新版本。而在android studio中是必須在build.gradle中設(shè)置。例如
compileSdkVersion 22
buildToolsVersion "22.0.1"
4、你可以用高版本的build-tool去構(gòu)建一個(gè)低版本的sdk工程,例如build-tool的版本為20,去構(gòu)建一個(gè)sdk版本為18的
例如:compileSdkVersion 18
buildToolsVersion "22.0.1"這樣也是OK的。
【Android SDK 功能解析】
先來(lái)看一下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平臺(tái)相關(guān)的工具,adb、fastboot等
【tools】是指的安卓開(kāi)發(fā)相關(guān)的工具,例如android.bat、ddms.bat(Dalvik debug Monitor Service)、draw9patch.bat等等
課外閱讀:
http://4byte.cn/question/47017/android-sdk-build-tools.html
Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念區(qū)分