Flutter运行发布失败:最低支持的Gradle版本为5.6.4。当前版本为5.6.2。

10
尝试使用flutter run --release运行我的应用程序时,它会抛出一个错误。
FAILURE: Build failed with an exception.

* Where:
Build file 'C:\Users\Chris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.2+1\android\build.gradle' line: 22

* What went wrong:
A problem occurred evaluating root project 'device_info'.
> Failed to apply plugin [id 'com.android.internal.version-check']
> Minimum supported Gradle version is 5.6.4. Current version is 5.6.2. If using the gradle wrapper, try editing the distributionUrl in C:\Users\Chris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.2+1\android\gradle\wrapper\gradle-wrapper.properties to gradle-5.6.4-all.zip
如果我移除这个device_info插件,由于另一个名为flutter_plugin_android_lifecycle的插件,我会收到相同的错误提示,指出Gradle当前版本为4.10.2。
我不明白。我尝试更新我的gradle-wrapper.properties文件:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

以前它设置为5.6.2,但这什么也没有改变。也尝试了4.10.2,但它同样被忽略了。 我在我的build.gradle中更新了gradle版本


之前设为5.6.2无效,尝试了4.10.2同样被忽略。已将gradle版本更新至build.gradle文件中。
buildscript {
    ext.kotlin_version = '1.3.61'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

我创建了一个新的Flutter项目,只复制了我的页面和pubspec文件...我在控制台上尝试了,也尝试了使用Android Studio。flutter clean,flutter build appBundle,删除gradle版本,我尝试了我能想到或者在某个地方读到的所有方法...

但是没有任何方法可以摆脱这个错误,gradle坚持它的当前版本是5.6.2。然而,一个新的“原始”的Flutter项目,我可以在发布模式下运行,没有问题。

看起来这些插件会下载它们自己的gradle版本。我可以在Android Studio中看到,旧版本的gradle被下载,与我的设置中声明的实际gradle版本相反。不管怎样,在经过3天的尝试后,我已经没有其他选择和想法了。

有人知道如何解决这个问题或缩小问题范围吗?我还很想知道这里在发生什么。

我的flutter doctor输出:

[√] Flutter (Channel master, v1.17.1-pre.23, on Microsoft Windows [Version 10.0.18362.720], locale de-DE)
    • Flutter version 1.17.1-pre.23 at C:\flutter
    • Framework revision a2e6c30b44 (12 hours ago), 2020-04-03 20:26:01 -0700
    • Engine revision 09bc1fc45e
    • Dart version 2.8.0 (build 2.8.0-dev.19.0 e736495eb7)


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\Chris\AppData\Local\Android\sdk
    • Platform android-R, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 45.0.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.43.2)
    • VS Code at C:\Users\Chris\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.9.0

[√] Connected device (1 available)
    • Lenovo A6020l36 • 32aac289 • android-arm64 • Android 5.1.1 (API 22)

• No issues found!

这只发生在 --release 构建上吗?我也有同样的问题。只有在使用构建配置的附加参数中的 --release 部署到设备时才会出现此问题。部署调试版本没有问题。这根本没有任何意义 - 为什么调试可以工作但发布不行呢? - James Allen
@JamesAllen 是的,只需要使用 --release 标志。我也无法解释它,只能建议您逐个查看所有插件,希望找到罪魁祸首。 - Chris
1个回答

5

我找到了问题所在。这是一个完全不同的插件unique_identifier 0.0.3导致了错误。在删除它之后,应用程序再次成功编译。

如果你也有类似的情况:我必须对每个安装的软件包进行测试,直到我找到它。


在我的情况下,我不得不更新shared_preferences包。 - Ketobomb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接