升级Flutter到版本3后,我的现有项目无法构建。

8

我正在使用Flutter 2.10.0版本进行项目开发,之前一切正常。但是在将Flutter升级到3.0.0版本后,我的项目无法构建并出现了以下错误:

[        ] > Task :app:compileFlutterBuildDebug FAILED
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[        ] 1 actionable task: 1 executed
[        ] FAILURE: Build failed with an exception.
[        ] * Where:
[        ] Script '/home/user/snap/flutter/common/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1156
[        ] * What went wrong:
[        ] Execution failed for task ':app:compileFlutterBuildDebug'.
[        ] > Process 'command '/home/user/snap/flutter/common/flutter/bin/flutter'' finished with non-zero exit value 1
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 18s
[ +550 ms] Exception: Gradle task assembleDebug failed with exit code 1
4个回答

5
这篇博客文章或许能帮到您:

链接

如果您使用Flutter工具创建新项目,您可能会注意到生成的文件现在使用最新版本的Gradle和Android Gradle插件。对于现有项目,您需要手动将Gradle版本提升到7.4,Android Gradle插件版本提升到7.1.2。


1
终于在5个小时后我找到了正确的答案。感谢分享,我给你点赞! - Christopher Kikoti

2

我通过更新 'build.gradle' 文件来修复它:

classpath("com.android.tools.build:gradle:3.5.3")

to

classpath("com.android.tools.build:gradle:3.5.4")

请参考以下链接了解更多信息:

https://developer.android.com/studio/releases/gradle-plugin#4-0-0

如果以上方法不能解决错误,请尝试以下方法:

在修改以下行后:distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip,只需要更改版本号即可。

android/gradle/wrapper/gradle-wrapper.properties

然后运行以下命令:cd android && ./gradlew clean


2

我尝试了 Kamrul Hasan Jony 的解决方案,但总是无法构建。

所以对我有效的解决方案是:

  1. 创建一个与旧项目相同的新Flutter项目
  2. 使用旧项目中的包更新 pubsec.yaml 文件
  3. 更新所有更改过的文件,如 android/build.gradleandroid/app/build.gradleAndroidManifest.xml

1
我在将Flutter升级到3.17.0版本后遇到了这个问题。问题出在cached_network_image包上,我将其更新到了最新版本(^3.3.0)。问题解决了!

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