天天看點

Android關于buildToolVersion與CompileSdkVersion的差別

StackOverFlow中對這個問題進行了詳細的讨論:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsversion-vs-compilesdkversion

【問題的結論】就是:

1、CompileSdkVersion是你SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。

2、buildeToolVersion是你建構工具的版本,其中包括了打包工具aapt、dx等等。這個工具的目錄位于..your_sdk_path/build-tools/XX.XX.XX

這個版本号一般是API-LEVEL.0.0。 例如I/O2014大會上釋出了API20對應的build-tool的版本就是20.0.0

在這之間可能有小版本,例如20.0.1等等。

3、在ecplise的project.properties中可以設定sdk.buildtools=17.0.0。也可以不設定,不設定的話就是指定最新版本。而在android studio中是必須在build.gradle中設定。例如

compileSdkVersion   22

 buildToolsVersion "22.0.1"

4、你可以用高版本的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等等

課外閱讀:

http://4byte.cn/question/47017/android-sdk-build-tools.html

<a target="_blank" href="http://blog.csdn.net/zhangjg_blog/article/details/17142395">Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念區分</a>

繼續閱讀