升级Flutter至3.29.2后项目无法运行,Gradle不兼容问题求助
升级Flutter至3.29.2后项目无法运行,Gradle不兼容问题求助
兄弟我之前升级Flutter到高版本时也踩过类似Gradle不兼容的坑,给你分享几个亲测有效的排查和解决思路,你可以挨个试试:
首先先把你遇到的错误贴出来方便大家参考:
Error: [!] Your app is using an unsupported Gradle project. To fix this problem, create a new project by running
flutter create -t app <app-directory>and then move the dart code, assets and pubspec.yaml to the new project.
1. 先确认Flutter与Gradle的版本匹配
Flutter 3.29.x官方推荐的Gradle版本是8.7及以上,你可以先运行flutter doctor看看终端有没有版本不匹配的提示。如果你的项目Gradle版本偏低,就算手动改配置文件也可能不生效:
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties - 把
distributionUrl替换成https\://services.gradle.org/distributions/gradle-8.7-all.zip
2. 对比新项目的Gradle配置结构
新版本Flutter的Android项目配置和旧版有不少细节差异,建议你用flutter create -t app temp_project新建一个空白项目,然后把以下文件的内容和你现有项目对比,同步差异部分:
- 根目录的
build.gradle.kts - app目录下的
build.gradle.kts - 根目录的
settings.gradle.kts
比如新版本的settings.gradle.kts会包含Flutter插件的引用逻辑,旧版可能没有这些配置,直接同步差异大概率能解决结构不兼容的问题。
3. 清理缓存后重新同步配置
有时候缓存会导致配置不生效,你可以按这个顺序操作试试:
flutter clean rm -rf .dart_tool flutter pub get cd android && ./gradlew clean cd .. flutter run
4. 最后一招:按官方提示迁移项目
如果上面的方法都没解决,官方说的新建项目迁移虽然麻烦,但确实是最稳妥的方案:
- 用
flutter create -t app <你的新项目名>创建一个空白项目 - 把现有项目的
lib/目录、assets/目录完整复制到新项目 - 打开现有项目的
pubspec.yaml,把依赖、assets配置等内容合并到新项目的pubspec.yaml里(不要直接覆盖,保留新项目里的Flutter默认配置) - 重新配置Android签名、iOS证书等项目专属信息
- 最后运行
flutter pub get和flutter run
备注:内容来源于stack exchange,提问作者Ayush
相关产品推荐
相关产品推荐

