为 Flutter 和 Pub 设置 Android minSdkVersion

Set Android minSdkVersion for Flutter & Pub

是否可以使用最低 Android SDK 版本配置 Flutter 应用程序,这样 pub 就不会尝试安装需要更高 android sdk 版本的依赖项?

我已经克隆了一些存储库,例如 https://github.com/stonega/tsacdop and https://github.com/Teifun2/nextcloud-cookbook-flutter

这些在 pubspec.yaml 中具有依赖关系,例如

dependencies:
  flutter:
    sdk: flutter

  #for app key
  url_launcher: ^6.0.3

当我执行 flutter run 时,我得到如下错误消息:

Warning: The plugin path_provider_android requires Android SDK version 31.
Warning: The plugin url_launcher_android requires Android SDK version 31.
One or more plugins require a higher Android SDK version.
Fix this issue by adding the following to /projects/sandbox/tsacdop/android/app/build.gradle:
android {
  compileSdkVersion 31
  ...
}

就我而言,我想在Android 11(SDK 版本 30) 上使用该应用程序,因此更新最低版本不是我的解决方案寻找。虽然我确实遵循了 ,但是按照建议配置 android/app/src/build.gradle 没有工作:

defaultConfig {
   // setting these did NOT fix the compile errors
   minSdkVersion flutter.minSdkVersion
   targetSdkVersion flutter.targetSdkVersion
}

我已经尝试在 pubspec.yaml 文件中将依赖项设置为显式版本,它一次性修复了一些依赖项,但最好能找到一个通用的解决方案。

只需分配您所需的 SDK 版本,如下所示。这将解决您的编译错误。

defaultConfig {
  minSdkVersion 31
  targetSdkVersion 31
}

或者您可以直接从 flutter>packages>Flutter_tools>gradle>flutter.gradle 更改 flutter.minSdkVersion 和 flutter.targetSdkVersion