minSdkVersion、maxSdkVersion、targetSdkVersion、compileSdkVersion、buildToolVersion

作者:vkvi 来源:ITPOW(原创) 日期:2016-11-16

在做安卓开发时,难免会遇到这几个概念。

minSdkVersion 尽量小

APP 不能在比 minSdkVersion 这个版本低的安卓系统上安装、运行。

所以在保证能正常运行的情况下,这个值应该尽量小。

maxSdkVersion 一般不设置

和 minSdkVersion 相反,一般不要去设置它,设置了之后表示在高版本的安卓系统上无法安装、运行。谁会干这傻事呢?

targetSdkVersion 尽量大

举个例子来说吧(仅说明作用,不用纠结其中细节):

  • 假如安卓 15 版本的按钮是直角的,安卓 16 版本开始按钮变成圆角的了。
  • 如果我们 targetSdkVersion 值是 15,那么我们的程序仍然能够在 16 中运行,不过按钮仍然是直角的。
  • 如果我们 targetSdkVersion 值是 17,那么在 16 中运行时按钮就是圆角的,因为允许它用 16 的新特性。

所以 targetSdkVersion 尽量大,但不代表乱写,建议要真实在该环境中测试。

minSdkVersion <= targetSdkVersion <= maxSdkVersion

compileSdkVersion 尽量大

以上几个 Version 都会写入 apk,供安卓系统检查,但是 compileSdkVersion 则不会,它表示用什么版本的 Sdk 来编译。

建议用高版本的 Sdk 来编译,因为高版本的 Sdk 不仅能够编译低版本的 APP,还能够检查低版本的 APP 是否使用了过时的类、属性、方法,有利于我们优化我们的程序。

buildToolVersion

这个是指 build 这个工具的软件版本,不是针对它使用的 SDK 版本来说的。

相关文章