Flutter Gradle Wrapper管理插件gradle_wrapper的使用
Flutter Gradle Wrapper管理插件gradle_wrapper
的使用
一个命令行工具
初衷,Gradle 不知道从什么时候开始,将 gradle wrapper
迁移到了 GitHub 上,但是国内访问 GitHub 速度很慢,所以我写了这个工具,通过代理帮你下载 gradle wrapper
。
如果你会自行配置代理且能找到正确的位置,那么你不需要这个工具。
此工具原理,通过搜索你项目中的 gradle-wrapper.properties
文件,找到 distributionUrl
,然后下载对应的 Gradle 版本到对应的目录内。
安全性问题
下载后的 Gradle zip 文件,会被放置在 ~/.gradle/wrapper/dists
对应的版本目录下,这个目录是 Gradle Wrapper 默认的下载目录,如果你不放心,可以自行校验。
此工具仅做下载 zip,不做解压 zip 和创建 .lck
.ok
文件,解压由 Gradle Wrapper 自行完成。
代理方案
- ✅ 使用 ghproxy 代理,这个代理是三方提供的,速度还可以,但是本人不保证它的永久可用,且不保证它的安全性,请根据日志路径自行校验 Gradle zip 是否被篡改。
- ✅ 使用环境变量
http_proxy
来指定代理,这种方式的下载速度取决于你的节点速度。 - ✅ 使用 腾讯云镜像,这个镜像是腾讯提供的,自行校验安全性。
使用方法
安装
使用 Dart
用 pub global
安装或直接从 release 中下载二进制文件。
dart pub global activate gradle_wrapper
这里是否可以直接使用 gradle_wrapper
取决于你是否将 pub global
的 bin 目录加入到了 PATH 环境变量中。
Release 下载
从 release 中下载二进制文件,然后将其放入 PATH 环境变量中。
curl https://raw.githubusercontent.com/CaiJingLong/gradle_wrapper_downloader/main/tool/install-sh.sh | sh
# 国内有的地方访问困难,也可以使用 ghproxy
curl https://mirror.ghproxy.com/https://raw.githubusercontent.com/CaiJingLong/gradle_wrapper_downloader/main/tool/install-sh.sh | sh
查看帮助
可以查看命令的使用参数之类的东西
gradle_wrapper -h
# 或者
dart pub global run gradle_wrapper:gradle_wrapper -h
用 ghproxy 下载
gradle_wrapper g -d <your project path>
# 或者
dart pub global run gradle_wrapper:gradle_wrapper g -d <your project path>
使用自己的代理
export http_proxy=http://localhost:7890
gradle_wrapper p -d <your project path>
dart pub global run gradle_wrapper:gradle_wrapper p -d <your project path>
更多关于Flutter Gradle Wrapper管理插件gradle_wrapper的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter Gradle Wrapper管理插件gradle_wrapper的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter项目中,Gradle Wrapper 是一个非常重要的工具,它确保项目构建时使用特定版本的 Gradle,从而避免因不同开发环境中的 Gradle 版本不一致而导致的问题。通常情况下,Flutter 项目会自动生成 Gradle Wrapper 相关文件,但如果你想更灵活地管理 Gradle Wrapper 版本,或者需要手动指定 Gradle 版本,可以使用一些插件来简化这个过程。
常用的 Gradle Wrapper 管理插件
-
gradle_wrapper 插件
- 这是一个社区维护的插件,用于简化 Gradle Wrapper 的管理。它可以帮助你轻松地更新或指定 Gradle Wrapper 的版本。
-
gradle-versions-plugin
- 这个插件可以帮助你检查项目中使用的依赖库的版本,并且可以用于管理 Gradle Wrapper 的版本。
使用 gradle_wrapper
插件
以下是如何在 Flutter 项目中使用 gradle_wrapper
插件的步骤:
1. 添加插件依赖
在 android/build.gradle
文件中添加 gradle_wrapper
插件的依赖:
buildscript {
ext.kotlin_version = '1.5.21'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'gradle.plugin.com.github.spotbugs:gradle-wrapper-plugin:1.0.0' // 添加 gradle_wrapper 插件
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2. 应用插件
在 android/build.gradle
文件的最上方应用 gradle_wrapper
插件:
plugins {
id 'com.github.spotbugs.gradle-wrapper' version '1.0.0'
}
wrapper {
gradleVersion = '7.0.2' // 指定 Gradle 版本
distributionType = Wrapper.DistributionType.ALL
}
3. 生成或更新 Gradle Wrapper
在终端中运行以下命令来生成或更新 Gradle Wrapper:
./gradlew wrapper
这将会根据你在 wrapper
配置中指定的 gradleVersion
生成或更新 gradle-wrapper.properties
文件。
其他方法:手动更新 Gradle Wrapper
如果你不想使用插件,也可以手动更新 Gradle Wrapper。在 Flutter 项目中,你可以直接修改 android/gradle/wrapper/gradle-wrapper.properties
文件来指定 Gradle 版本:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists