Search code examples
androidgradlegoogle-playbuild.gradletargetsdkversion

Does the targetSDKVersion in the build.gradle file for an Android application automatically update when there is a new version of Android available?


Here is a snippet of my build.gradle (Module: app) file:

defaultConfig {
        applicationId "com.shikhar_mainalee.iownallbitcoin"
        minSdkVersion 14
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

If you have the latest version of Android installed on your computer, the build.gradle file automatically seems to set the targetSdkVersion to the latest for you. Currently, Android version 28 (Android P) is the latest version of Android OS. Right now, the Google Play store requires that your Android version is at least Android version 26 (Android O). When Android version 29 (possibly Android Q) comes out, what will happen? Will the build.gradle plugin automatically update the targetSdkVersion minimum be incremented to 27 (will I need to revisit this application when version 31 is released years from now)? Will the build.gradle plugin automatically change the targetSdkVersion to version 29 or is that something I will need to reconfigure again myself manually?


Solution

  • targetSdkVersion does not automatically update in build.gradle. However when a new version of Android comes out, targetSdkVersion will turn yellow and get flagged with a warning that you are not targeting the latest version of Android. You can then choose to update when you're ready. You will never be forced to update, except when Google Play increases the minimum targetSdkVersion, which is currently 26. When this happens, you won't be able to publish new updates on Google Play until you bump targetSdkVersion to be high enough. But your existing app will not be removed from the store.