无Android Studio环境下Flutter项目Gradle版本兼容问题及升级配置方案咨询
无Android Studio环境下Flutter项目Gradle版本兼容问题及升级配置方案咨询
问题背景
我目前用一台低端笔记本学习Flutter,没法运行Android Studio,所以选择VS Code作为编辑器,已经成功完成Flutter环境配置:能正常执行Flutter命令、识别连接的真机,用flutter create testrun创建测试项目也能成功构建。
但执行flutter run时遇到了Java版本与Flutter Gradle版本不兼容的报错。我查过资料,大多说要修改gradle-wrapper.properties里的distribution url,但没有Android Studio的情况下不知道怎么操作;另外我已经手动更新了Gradle版本,参考了Gradle与Java的兼容性要求,现在想知道:
- 是否可以仅通过Flutter来升级Gradle?
- 如何在不使用Android Studio的情况下,为Flutter项目配置Gradle版本,并且设置成默认版本,不用每次创建新项目都手动修改?
解决方案(无需Android Studio)
1. 手动修改现有项目的Gradle版本
你可以直接通过VS Code编辑项目里的Gradle配置文件:
- 打开Flutter项目,找到路径:
android/gradle/wrapper/gradle-wrapper.properties - 修改其中的
distributionUrl字段为你需要的兼容版本,比如如果要使用兼容Java 11的Gradle 7.6,就改成:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip - 同时打开
android/build.gradle文件,找到dependencies块里的classpath "com.android.tools.build:gradle:x.x.x",把版本号改成和Gradle兼容的Android Gradle Plugin(AGP)版本,比如Gradle 7.6对应AGP 7.4.2:dependencies { classpath "com.android.tools.build:gradle:7.4.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }
2. 设置Flutter默认Gradle模板,避免每次新建项目修改
Flutter自带项目模板,你可以修改模板文件,让后续新建的项目自动使用指定的Gradle版本:
- 找到Flutter安装目录下的模板路径:
- Windows:
Flutter安装目录\packages\flutter_tools\templates\app\android\gradle\wrapper - macOS/Linux:
Flutter安装目录/packages/flutter_tools/templates/app/android/gradle/wrapper
- Windows:
- 打开该路径下的
gradle-wrapper.properties.tmpl文件,修改distributionUrl字段为你需要的版本,比如:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip - 同时修改同目录上级的
build.gradle.tmpl文件(路径:.../templates/app/android),更新AGP版本:dependencies { classpath "com.android.tools.build:gradle:7.4.2" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }
修改完成后,后续用flutter create创建的新项目就会自动使用你配置的Gradle和AGP版本了。
3. 验证配置是否生效
修改完成后,执行以下命令确认配置:
- 运行
flutter doctor --verbose,检查Java版本和Gradle版本的兼容性 - 在项目根目录执行
./gradlew --version(macOS/Linux)或gradlew --version(Windows),查看当前Gradle版本是否匹配预期
备注:内容来源于stack exchange,提问作者Balachan




