我想知道如果我想让我的应用程序支持新的Android手机,其API级别为9.0(Pie),那么在build.gradle
中,compileSdkVersion
和targetSdkVersion
应该设置为什么值。
有人了解吗?
通常建议使用Flutter常量compileSdkVersion
,以始终使用Flutter支持的最新SDK版本进行编译:compileSdkVersion flutter.compileSdkVersion
。
您也可以使用targetSdkVersion
的常量,但如果您尚未在最新的Android操作系统上测试过应用程序,可以定义较低的数字。
minimumSdkVersion
的值不应低于flutter.minimumSdkVersion
,但如果您希望更加严格(或者使用需要提高要求的依赖项),可以更高。
为了能够在Android Pie(API 28)上使用您的应用程序,minimumSdkVersion
应大于或等于28。
/android/app/build.gradle
的简化示例:android {
compileSdkVersion flutter.compileSdkVersion
defaultConfig {
applicationId "your.bundle.id"
minSdkVersion 21
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
}
Flutter的常量在这个文件中声明:https://github.com/flutter/flutter/blob/55868ed2a930ce8aa1c046ec9059ca077f807a94/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy#L44
提取:
static int compileSdkVersion = 33
static int minSdkVersion = 19
static int targetSdkVersion = 33
Flutter需要minSdkVersion
16,并且您可以将targetSdkVersion
和compliedSdkVersion
设置为当前最新的API级别30。
您可以在文件/android/app/build.gradle
中编辑这些属性。
minSdkVersion 16
compiledSdkVersion 30
targetSdkVersion 30
到2021年8月,新应用程序必须以至少Android 11 (API级别30)为目标。到2021年11月,正在更新的所有应用程序必须以至少Android 11 (API级别30)为目标。在此之前,新应用程序和应用程序更新必须以至少Android 10 (API级别29)为目标。