Flutter でアプリを作成すると android/app/build.gradle ファイルとかに、 targetSdkVersion とかが書かれると思います。
いままでは、これって数字がハードコードされていたと思ってたけど、ふと最近作ったプロジェクトを見直したら、
minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion
のように設定されていました。これ、元の値はどこにあるんだろうか?
Flutter SDK 3.13 以降の設定元(2024/7/1 追加)
Flutter SDK 3.13 からは < SDK install folder > /flutter/packages/flutter_tools/gradle/src/main/groovy にある flutter.groovy ファイルに変更になったそうです。
Flutter : How to change Android minSdkVersion in Flutter Project? - Stack Overflow
(略) class FlutterExtension { /** Sets the compileSdkVersion used by default in Flutter app projects. */ public final int compileSdkVersion = 34 /** Sets the minSdkVersion used by default in Flutter app projects. */ public final int minSdkVersion = 21 /** * Sets the targetSdkVersion used by default in Flutter app projects. * targetSdkVersion should always be the latest available stable version. * * See https://developer.android.com/guide/topics/manifest/uses-sdk-element. */ public final int targetSdkVersion = 34 (略)
Flutter SDK 2.8 以降の設定元
これは、 Flutter SDK の < SDK install folder > /flutter/packages/flutter_tools/gradle にある flutter.gradle ファイルに設定されているそうです。
(前略) /** For apps only. Provides the flutter extension used in app/build.gradle. */ class FlutterExtension { /** Sets the compileSdkVersion used by default in Flutter app projects. */ static int compileSdkVersion = 33 /** Sets the minSdkVersion used by default in Flutter app projects. */ static int minSdkVersion = 16 /** Sets the targetSdkVersion used by default in Flutter app projects. */ static int targetSdkVersion = 33 (後略)
上記は Flutter SDK 3.7.12 のもの。
いつからなんだろうか?と思って調べてみると、下記の記事によると Flutter 2.8 からだそうです。
でもこの記事によると公式の説明がないそうです。そういうところが Google さんもなんだかなー・・・