Where is the value of "flutter.minSdkVersion" in Flutter project initialized?

Viewed 2064

I have created a new Flutter project, and this is how the minSdkVersion looks like in the app/build.gradle file:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion flutter.minSdkVersion
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

Where is the value of flutter.minSdkVersion set?

Note that previously, that config value looked like the following:

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.projectname"
    minSdkVersion 19 //*** This is the part that needs to be changed, previously was 16
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Also, this is the content of the android/local.properties file:

sdk.dir=/Users/usernaem/Library/Android/sdk
flutter.sdk=/Users/username/flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.versionCode=1

As you can see, the value of flutter.minSdkVersion is not set there, but the project can be compiled and built successfully.

Where are the flutter.minSdkVersion and flutter.targetSdkVersion variables initialized?

P.S. related issue: https://github.com/flutter/flutter/issues/95533

2 Answers

Go to this file in your flutter extracted folder:

flutter/packages/flutter_tools/gradle/flutter.gradle

There you can find all static variables.

Put in your android/local.propertie file the variable:

Example:

flutter.minSdkVersion=21

And change in android/app/build.gradle

localProperties.getProperties('flutter.minSdkVersion') // flutter.minSdkVersion 
Related