compileSdkVersion:
编译版本:compileSdkVersion告诉gradle使用哪个版本AndroidSDK编译你的应用;
minSdkVersion:
最低SDK版本:他代表的意思是你的App最低支持的手机版本。如果你的minSdkVersion设置成了16(Android4.0),那么Apk在16以下系统的手机无法安装;
targetSdkVersion:
API目标版本:随着 Android 系统的升级,某个系统的 API 或者模块的行为可能会发生改变,但是为了保证老 APK 的行为还是和以前兼容。只要 APK 的 targetSdkVersion 不变,即使这个 APK 安装在新 Android 系统上,其行为还是保持老的系统上的行为,这样就保证了系统对老应用的前向兼容性。通俗点讲:它会告诉Android平台:此程序在此版本已经经过充分的测试,没有任何问题,不必在为程序的兼容性做检查判断的工作了;也就是说如果targetSdkVersion和目标设备的API版本相同时,运行的效率会更高一些;
buildToolsVersion:
编译工具的版本:是build工具的版本号。一般每一个android版本都会有对应的buildTools。Android系统在不断升级,每次添加新特性,就需要新的工具来进行build,所以老的build工具不能用来build新的版本。新的build工具可以build老的Android版本,新的工具兼容老的版本。一般设置为最新即可; 根据上面说的:compileSdkVersion是编译时使用的。minSdkVersion(maxSdkVersion)是在安装时使用的。 targetSdkVersion是在app运行时使用的。buildToolsVersion是编译工具的版本号;