Flutter 升级 Gradle 和 Gradle Plugin

目前 Flutter3.0 默认的 Gradle 版本是 7.5,当然也有可能会更早一些。有时候因为某些需求要升级 Gradle 到新版本。本文以升级到 8.2.1 版本举例,会讲述 Flutter 项目中升级 Gradle 和 Gradle Plugin 以及 android tools、设置镜像源等问题。

Gradle Plugin 版本匹配

不同的 Gradle 版本所匹配的 Gradle Plugin 版本是不一样的。官方给了个表格插件版本对应。

根据官方说明,Gradle Plugin 的 7.4.2 是一个主要版本,并且兼容 Gradle 8.2.1。

Flutter 工程修改

升级 Gradle 版本很容易,在android/gradle/wrapper/gradle-wrapper.properties文件中,将distributionUrl改为新版本的地址,以 8.2.1 举例为https\://services.gradle.org/distributions/gradle-8.2.1-all.zip。此时该文件如下:

distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip

升级 Gradle Plugin 并设置镜像

首先修改android/settings.gradle文件如下,增加阿里云的 Gradle Plugin 镜像源。

pluginManagement {    repositories {        maven{            url 'https://maven.aliyun.com/repository/gradle-plugin'        }        google()        mavenCentral()        gradlePluginPortal()    }}

再修改android/build.gradle文件,增加阿里云镜像源,并将 Gradle Plugin 版本设置为 7.4.0

buildscript {    ext.kotlin_version = '1.7.10'    repositories {        maven {            url 'https://maven.aliyun.com/repository/public/'        }        maven {            url 'https://maven.aliyun.com/repository/central'        }        maven{            url 'https://maven.aliyun.com/repository/gradle-plugin'        }        google()        mavenCentral()    }    dependencies {        classpath 'com.android.tools.build:gradle:7.4.0'        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"    }}allprojects {    repositories {        maven {            url 'https://maven.aliyun.com/repository/public/'        }        maven {            url 'https://maven.aliyun.com/repository/central'        }        maven{            url 'https://maven.aliyun.com/repository/gradle-plugin'        }        google()        mavenCentral()    }}

编译项目,会自动升级新版本。