gradle_wrapper 0.3.0 copy "gradle_wrapper: ^0.3.0" to clipboard
gradle_wrapper: ^0.3.0 copied to clipboard

A cli for download gradle-wrapper with proxy.

一个命令行工具 #

初衷,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

# or

dart pub global run gradle_wrapper:gradle_wrapper -h

用 ghproxy 下载 #

gradle_wrapper g -d <your project path>

# or

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>

其他问题 #

  • 这是一个通用的 gradle 工具,不是仅适用于 flutter 项目,只要你使用 gradle wrapper 就可以用这东西。
  • 不要直接使用 flutter 项目根目录,而 android 目录,因为 iOS 会软链接所有 packages,导致找到很多不同的 gradle-wrapper.properties 文件,此工具会自动下载所有的。
1
likes
120
points
64
downloads

Publisher

verified publisherkikt.top

Weekly Downloads

A cli for download gradle-wrapper with proxy.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

args, crypto, dio, path, props

More

Packages that depend on gradle_wrapper