美文网首页
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