在构建flutter应用程序时,我得到这个错误。
One or more plugins require a higher Android SDK version.
Fix this issue by adding the following to C:flutterprojectsmy_appandroidappbuild.gradle:
android {
compileSdkVersion 33
...
}
然而,在我的构建。gradle I have:
android {
compileSdkVersion flutter.compileSdkVersion
...
}
但是我找不到定义flutter.compileSdkVersion的位置。知道这是怎么定义的吗?我已经运行了flutter升级和flutter——版本返回flutter 3.0.5。
严格回答你的问题,设置来自这里的flutter安装目录:
<flutter-installation>packagesflutter_toolsgradleflutter.gradle
更改设置的一些选项:
如果您想将设置集中在一个地方,那么您可以在文件local.properties
中设置为:
flutter.compileSdkVersion=33
你在你的构建中改变。
android {
compileSdkVersion localProperties.getProperty('flutter.compileSdkVersion').toInteger()
...
}
或者(显然)直接将版本设置为:
android {
compileSdkVersion 33
...
}
每个flutter版本都有一个compiledSdkVersion属性。在Flutter 3.3.8中,它是31。
您可以在这里访问代码参https://chromium.googlesource.com/external/github.com/flutter/flutter/+//头/dev/包/flutter_tools/gradle/flutter.gradle 33 #
将来可能会超过33。如果您将值硬编码为33,则flutter可能会因错误而停止构建。
所以解应该是
compileSdkVersion Math.max(flutter.compileSdkVersion, 33)
现在,在将来,如果flutter将属性更改为35,你的代码将不会中断。
打开android文件夹。打开App文件夹。打开构建。Gradle from app folder.
flutter.compileSdkVersion默认为已安装的颤振版本配置的默认版本。你可以替换flutter.compileSdkVersion到您自己的自定义版本。
是的,您需要更改它。替换:
android {
compileSdkVersion flutter.compileSdkVersion
...
}
与这个:
android {
compileSdkVersion 33
...
}
flutter.compileSdkVersion
只是从flutter sdk中获得的默认值。