compileSdkVersion,minSdkVersion和targetSdkVersion的作用

compileSdkVersion

它用来告诉gradle构建工具用哪个版本的Android sdk来编译你的应用。小编建议大家使用最新的sdk版本进行项目的编译,因为这样不但可以避免使用废弃的API,还能使用最新版本里新出的API优化我们项目里的页面或者功能,与新技术、新知识保持同步。当然,使用了较低的编译版本构建的应用程序(比如API22),也能在较高版本的手机上运行(比如API23),google当然会想到高版本向低版本兼容性问题。
注:选择了编译版本后,那么所使用的Supprot Library 也要与之相对应。一般Support Library会随着新的系统版本发布,它为系统新增加的API和新特性提供兼容性支持。

minSdkVersion

它呢,用来说明本应用可以被正常安装运行的最低系统版本。lint 默认会在项目中运行,它在你使用了高于 minSdkVersion 的 API 时会警告你,帮你避免调用不存在的 API 的运行时问题。如果只在较高版本的系统上才使用某些 API,通常使用运行时检查系统版本的方式解决。
注:设置该版本的时候,应该充分参考当前Android分布统计,分析潜在用户群,做出合理设置。

targetSdkVersion

targetSdkVersion 是 Android 系统提供前向兼容的主要手段。这是什么意思呢?随着 Android 系统的升级,某个系统的 API 或者模块的行为可能会发生改变,但是为了保证老 APK 的行为还是和以前兼容。只要 APK 的 targetSdkVersion 不变,即使这个 APK 安装在新 Android 系统上,其行为还是保持老的系统上的行为,这样就保证了系统对老应用的前向兼容性。详细参考Android targetSdkVersion 原理

猜你喜欢

转载自blog.csdn.net/qq_21924213/article/details/53333954