简体   繁体   中英

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

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?

PS related issue: https://github.com/flutter/flutter/issues/95533

Go to this file in your flutter extracted folder:

flutter/packages/flutter_tools/gradle/flutter.gradle

There you can find all static variables.

You should change from local.properties following instruction:

  1. First go to the android-> local.properties

  2. And changes from here local.properties

add this line

flutter.minSdkVersion=19
flutter.targetSdkVersion=28
flutter.compileSdkVersion=28

NB: you don't find the local.properties you create yourself

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 

Just replace flutter.minSdkVersion with your required value such as 19 like old style

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

Follow the path /android/app/build.gradle

 defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.sample.com"
    // You can update the following values to match your application needs.
    // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
    minSdkVersion 23
    targetSdkVersion 33
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    multiDexEnabled true

}`

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM