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

Posted

技术标签:

【中文标题】Flutter 运行发布失败:支持的最低 Gradle 版本为 5.6.4。当前版本是 5.6.2【英文标题】:Flutter run release fails: Minimum supported Gradle version is 5.6.4. Current version is 5.6.2 【发布时间】:2020-07-16 17:41:24 【问题描述】:

当尝试使用 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 版本更新为

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"
    

我创建了一个新的颤振项目,只是复制了我的页面和 pubspec...我在控制台中尝试过,我在 android studio 中尝试过。 flutter clean,flutter build appBundle,删除 gradle 版本,我尝试了所有我能想到的或我在某处读过的东西...... 没有什么可以帮助摆脱这个错误,gradle 坚持认为它的当前版本是 5.6.2。 然而,一个新的“处女”颤振项目,我可以在发布模式下运行,没有问题。

这些插件似乎会下载自己的 gradle 版本。我可以在 Android Studio 中看到如何下载旧的 gradle 版本,这与我的设置中说明的实际 gradle 版本相反。无论哪种方式,在使用了 3 天后,我的选择和想法都用完了。

有谁知道如何解决这个问题或缩小问题范围?我也很乐意解释这里发生的事情。

我的颤振医生输出:

[√] 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 部署到设备时才会发生这种情况。部署调试版本很好。这根本没有意义 - 为什么它会在调试中工作而不是发布? @JamesAllen 是的,只有 --release 标志。我也无法解释,只是建议你一一浏览所有插件,希望能找到罪魁祸首。 【参考方案1】:

我发现了问题。 导致错误的是一个完全不同的插件unique_identifier 0.0.3。删除后,应用再次编译dine。

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

【讨论】:

就我而言,必须更新 shared_preferences 包。

以上是关于Flutter 运行发布失败:支持的最低 Gradle 版本为 5.6.4。当前版本是 5.6.2的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 蓝牙插件 flutter_blue 坑点记录

将 Flutter 应用上传到 AppStore 导致 App.framework 不支持 Info.plist 中指定的最低 OS 版本

将 Flutter 应用上传到 AppStore 导致 App.framework 不支持 Info.plist 中指定的最低 OS 版本

带颤振的最低安卓版本

如何从 Flutter App 中删除 Kotlin 支持?

Flutter 运行失败