compileSdkVersion、minSdkVersion比较好就理解:
compileSdkVersion 编译版本 也就是针对对应的sdk版本进行编译
注意(1)编译版本必须大于targetSdkVersion版本
(2)api版本支持最小版本不能大于compileSdkVersion版本
minSdkVersion 是项目的兼容版本,即是项目可以最小运行到哪个版本上
targetSdkVersion 即是打包后运行版本。
注意(1)targetSdkVersion 版本号不能大于compileSdkVersion ,若是大于了,直接报错了
他的作用主要是控制不同版本的特性:比如targetSdkVersion 指定一个版本号 比如Android 21,compileSdkVersion版本号是26,即使手机版本是8.0,运行项目时也不会检查动态权限,因为动态权限是 Android 23才添加的,运行的版本号中根本没有对应api.
注:有个情况就是 minSdkVersion版本可以大于 targetSdkVersion 与compileSdkVersion的版本号,只要手机版本支持就可以运行(再次记录一下)