修改Flutter项目默认模板,解决Java与Gradle版本冲突
永久解决Flutter项目Gradle与Java版本冲突问题
方案一:全局配置Flutter使用Java 17(推荐,适配默认AGP版本)
- 找到Java 17的路径,Android Studio自带的话一般在安装目录的
jbr/jdk-17.x.x文件夹内 - 打开终端执行全局配置命令:
举个Windows平台的例子:flutter config --jdk-dir="你的Java17完整路径"flutter config --jdk-dir="C:\Program Files\Android\Android Studio\jbr\jdk-17.0.6" - 执行
flutter doctor命令,确认输出中Java版本显示为17即可
方案二:修改Flutter默认模板,让新项目直接使用Gradle 8.5
Windows系统操作步骤
- 定位到Flutter安装目录下的Android模板路径:
flutter\packages\flutter_tools\templates\app\android.tmpl\gradle\wrapper - 打开
gradle-wrapper.properties文件,将distributionUrl修改为:distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip - 同时检查模板中的
build.gradle文件(路径:flutter\packages\flutter_tools\templates\app\android.tmpl\build.gradle),确保AGP版本与Gradle 8.5兼容,比如默认版本如果是8.1.x无需修改,低版本可调整为com.android.tools.build:gradle:8.1.4
macOS/Linux系统操作步骤
- 模板路径为:
flutter/packages/flutter_tools/templates/app/android.tmpl/gradle/wrapper - 同样修改
gradle-wrapper.properties中的distributionUrl为上述Gradle 8.5的下载地址 - 同步调整
build.gradle内的AGP版本,保证与Gradle 8.5兼容
补充说明
- 修改模板后,后续新建的所有Flutter项目都会自动使用Gradle 8.5,无需每次手动执行升级命令
- 选择方案一的话,全局配置Java 17后,所有Flutter项目都会适配默认的Gradle 8.3,无需修改任何项目配置
内容的提问来源于stack exchange,提问作者guti
相关产品推荐
相关产品推荐

