美文网首页
SDK version

SDK version

作者: 四月白绵羊 | 来源:发表于2019-06-22 00:17 被阅读0次

Google总会不定时地更新Android SDK 的版本。我们不能永远要求用户在第一时间升级到最新的SDK。但你也不用担心你的App会因为SDK升级而崩溃了。因为有forward compatibility。你需要关注的有compileSdkVersion, minSdkVersiontargetSdkVersion

  • compileSdkVersion
    用来告诉Gradle应该使用哪一个SDK去编译你的App。如果你想使用最新的API,那么你就需要升级SDK版本。需要强调的是它并不会去改变运行时的行为。或许在编译完成时你会看到一些warining 或者 error。但compileSdkVersion 并不包含在你的APK当中,而只是单纯地运用在编译时。
    所以,强烈建议使用最新的SDK 来编译你的App。
    注意,如果你使用了Support Library,那么要保证Sdk 的版本与Support Library 相同或者更高。例如,你使用 23.1.1 Support Library,那么你至少需要用 23 compileSdkVersion

  • minSdkVersion
    minSdkVersion表明了你App的底线,帮助Google Play Store决定哪一些用户手机可以安装你的App。
    同时,minSdkVersion 对于发布也至关重要。它会检测你的代码之中是否使用一些API,而这些API不在minSdkVersion之中。
    如果你试试用一些其他的libraries,这些librarie可能会有自己的minSdkVersion。那么你App中的minSdkVersion 至少需要和他们之中最大的minSdkVersion 一样大。
    当你在决定minSdkVersion版本的时候,你需要去看一看 手机SDK的数据分布。因为这将决定你用户的覆盖率。

  • targetSdkVersion
    它指的是你已经完全测试过的版本号。

android {
  compileSdkVersion 23
  buildToolsVersion “23.0.1”

  defaultConfig {
    applicationId “com.example.checkyourtargetsdk"
    minSdkVersion 7
    targetSdkVersion 23
    versionCode 1
    versionName “1.0”
  }
}

compileSdkVersion是compile层次的,defaultConfig是build层次的。

总结

minSdkVersion <= targetSdkVersion <= compileSdkVersion

或者

minSdkVersion (lowest possible) <= 
    targetSdkVersion == compileSdkVersion (latest SDK)

如果你的minSdkVersion 设得很低,那么你能覆盖很多的Android用户群体。

相关文章

网友评论

      本文标题:SDK version

      本文链接:https://www.haomeiwen.com/subject/nckntctx.html