This issue was discussed in detail in StackOverflow: http://stackoverflow.com/questions/24521017/ Android-gradle-buildtoolsversion-vs-compilesdkversion
"The conclusion of the problem" is:
1, Compilesdkversion is your SDK version number, that is, API level, such as API-19, API-20, API-21 and so on.
2, Buildetoolversion is your build tool version, including the packaging tools AAPT, DX and so on. The directory for this tool is located at: Your_sdk_path/build-tools/xx. Xx. Xx
This version number is generally api-level.0.0. For example, the I/O2014 conference released the API20 corresponding to the Build-tool version is 20.0.0
There may be minor versions between this, such as 20.0.1 and so on.
3, in the Ecplise project.properties can be set sdk.buildtools=17.0.0. You can also not set, if not set to specify the latest version. And in Android Studio, it must be set in Build.gradle. For example
Compilesdkversion 22
Buildtoolsversion "22.0.1"
4, you can use the high version of Build-tool to build a lower version of the SDK project, such as Build-tool version 20, to build an SDK version of 18
Example: Compilesdkversion 18
Buildtoolsversion "22.0.1" is also OK.
"Android SDK Feature Resolution"
First look at the directory of the SDK
Technology sharing
Among the more important directories are "build-tools" "Platforms" "Platform-tools" "Tools"
"Build-tools" is a build tool for different versions (for example, 21.1.1) that includes AAPT packaging tools, Dx.bat, Aidl.exe, and so on.
"Platform" is a place to store different api-level versions of the SDK directory
"Platform-tools" is a number of Android platform related tools, ADB, fastboot, etc.
"Tools" refers to Android development-related tools such as Android.bat, Ddms.bat (Dalvik debug Monitor Service), Draw9patch.bat, etc.
Extracurricular reading:
Http://4byte.cn/question/47017/android-sdk-build-tools.html
Build in Android
Target,minsdkversion,targetsdkversion,maxsdkversion Concept Differentiation
Reprint: http://www.bubuko.com/infodetail-1008155.html
Android about the difference between buildtoolversion and compilesdkversion