compileSdkVersion、targetSdkVersion、minSdkVersion

compileSdkVersion:
表示编译的版本,当前的项目使用哪个SDK进行编译,一般将编译版本设置为最高,因为高版本向下兼容低版本还可以看出来高版本的SDK对某些API做了哪些变化

targetSdkVersion:
表示运行版本,当前项目使用哪一个SDK进行打包(运行在手机上),比如运行时权限实在Api23版本,但是如果将targetSdkVersion设置为22,即使运行在6.0以上的手机上也不用担心运行时权限的问题;
如果还不明白可以这么想,手机只是运行代码的,如果你使用Api23及以上SDK,SDK中肯定会判断当前手机的版本,在使用权限时监测到没有动态申请(让用户授权)就会触发权限异常,这套检测的代码只有Api23及以上才会有,所以Api22根本就没有这套检测的代码。

minSdkVersion:
表示最低运行版本,当前项目对手机版本的限制!例如minSdkVersion为23,那么6.0以下(不包括6.0)的手机就安装不了你的项目

总结:其实一些新手总是搞不清楚compileSdkVersion和targetSdkVersion,其实只要记住这两点,
1:compileSdkVersion只是在编译时使用(在开发工具上检查Api的变化)
2:targetSdkVersion只是在运行时使用(在手机上运行哪套SDK)

你可能感兴趣的:(compileSdkVersion、targetSdkVersion、minSdkVersion)