在 1.20.4 版本中添加 Flutter web-view 插件时出错

Error adding Flutter web-view plugin in version 1.20.4

我想在我的应用中使用 flutter-web 插件。但是,当我将其添加到我的 YAML 文件时,出现以下 SDK 错误。我刚升级到 1.20.4

如何修复此错误?

Flutter SDK当前版本为1.20.4

由于app依赖webview_flutter>=1.0.0,要求Flutter SDK版本>=1.22.0 <2.0.0,版本解析失败。 pub get failed (1; 因为app依赖webview_flutter >=1.0.0 需要Flutter SDK版本>=1.22.0 <2.0.0,版本解析失败。)

Doctor总结(查看所有细节,运行flutter doctor -v): [✓] Flutter(频道稳定,1.20.4,在 Mac OS X 10.15.6 19G2021,语言环境 en-US)

[✓] Android 工具链 - 为 Android 设备开发(Android SDK 版本 28.0.3) [✓] Xcode - 为 iOS 和 macOS 开发 (Xcode 12.0) [✓] Android Studio(3.6 版) [✓] VS 代码(版本 1.49.2) [✓] 已连接设备(可用 1 个)

• 未发现问题!

这是我的 pubspec.yaml 文件中的信息

环境: SDK:“>=2.2.2 <3.0.0”

webview_flutter 包需要 minSdkVersion 19 所以你必须改变应用级别 gradle

android {
    defaultConfig {
        // Required by the Flutter WebView plugin.
        minSdkVersion 19
    }
  }

使用 flutter 升级后 flutter upgrade

然后在您的 pubspec.yaml 文件中导入 webview_flutter webview_flutter: ^1.0.0 因为 webview_flutter 在 flutter 1.22 稳定版中是稳定的。

我遇到了同样的问题,但我不知道那个build.gradle的路径,所以我花了一些时间才找到它。

您必须编辑 build.gradle 文件。在一个flutter项目中,它位于路径./android/app/build.gradle.

当然,需要更改的参数是 minSdkVersion 16,将其提高到您需要的值(在本例中为 19)。

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    applicationId "com.example.web_view_example"
    minSdkVersion 19 //This is what you need to change.
    targetSdkVersion 31
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
}

对于我的情况,我使用 linkedin_login: ^2.2.1 表示 LinkedIn 库也使用 webview(iOS 正在工作)但是 Android 它需要降级 minSDKVersion到 16. 请将 android 文件夹作为 Android 项目打开以便查看。希望对你也有帮助。