android如何选择targetSdkVersion
1. minSdkVersion
- 如果 compileSdkVersion 设置为可用的最新 API,那么 minSdkVersion 则是应用可以运行的最低要求。minSdkVersion 是 Google Play 商店用来判断用户设备是否可以安装某个应用的标志之一。
- 在开发时 minSdkVersion 也起到一个重要角色:lint默认会在项目中运行,它在你使用了高于 minSdkVersion 的 API 时会警告你,帮你避免调用不存在的 API 的运行时问题。如果只在较高版本的系统上才使用某些 API,通常使用运行时检查系统版本的方式解决。
2.targetSdkVersion
三个版本号中最有趣的就是 targetSdkVersion 了。 targetSdkVersion 是 Android 提供向前兼容的主要依据,在应用的 targetSdkVersion 没有更新之前系统不会应用最新的行为变化。这允许你在适应新的行为变化之前就可以使用新的 API (因为你已经更新了 compileSdkVersion 不是吗?)。
targetSdkVersion 所暗示的许多行为变化都记录在 VERSION_CODES文档中了,但是所有恐怖的细节也都列在每次发布的平台亮点中了,在这个 API Level 表中可以方便地找到相应的链接。
例如,Android 6.0 变化文档中谈了 target 为 API 23 时会如何把你的应用转换到运行时权限模型上,Android 4.4 行为变化阐述了 target 为 API 19 及以上时使用 set()和 setRepeating()设置 alarm 会有怎样的行为变化。
总结:
- minSdkVersion限定安装设备的最低系统版本,android studio中lint会提示高于此版本的api警告;
- targetSdkVersion限定最高的行为变化,并不限制使用比这版本更高的api;高于minSdkVersion和targetSdkVersion的api都可以使用,但要加运行时检查系统版本的判断,例如:
if (Build.VERSION_CODES.M <= Build.VERSION.SDK_INT) {
String str = Notification.CarExtender.class.getSimpleName();
}
[参考链接]
网友评论