Android 工程师应该对compileSdkVersion,minSdkVersion比较了解,从字面意思上也可以看的出来,但是targetSdkVersion 直接翻译过来就是 目标sdk版本,但是怎么用,限制是什么,不一定所有的Android工程师都能说的清楚。
minSdkVersion:可运行应用的最低版本的 Android 平台,由该平台的 API 级别标识符指定;eg:设置minSdkVersion=19(4.4)那么在4.4以下的版本是安装不了的(下载安装会出现“解析包时出现错误”);
targetSdkVersion:指定运行应用的目标API级别(非常重要);在某些情况下,这允许应用使用目标API级别中定义的清单元素和行为,而不是使用那些只针对最低API级别定义的元素和行为;eg:
targetSdkVersion=22, 运行在23(6.0)的手机上,动态权限检查是不起作用的;
targetSdkVersion>=22, 运行在23(6.0)的手机上,动态权限检查起作用。
targetSdkVersion=25, 运行在23(6.0)的手机上,执行6.0及以下的功能,7.0的功能是不执行的。
综上所述:
设置的API级别的时候应该符合下边等式:
minSdkVersion <= targetSdkVersion = compileSdkVersion。
用较低的 minSdkVersion 来覆盖最大的人群。
参考文档:
官方文档:
https://developer.android.google.cn/studio/publish/versioning;
博客: