唉,来吐槽一下 gradle。。
什么版本都要下,从 2.x 到 6.x,占用了 2G 多的空间。
搞不懂这么频繁使用的构建工具,难道不具备向下兼容吗。。
隔壁 xcode 用起来真是舒服多了。。
搞不懂这么频繁使用的构建工具,难道不具备向下兼容吗。。
隔壁 xcode 用起来真是舒服多了。。
啥兼容性不做是省心
要不是我折腾过 ios 项目,整过抠卡的依赖我还真信了 xcode 方便
然后再对比下隔壁 ios 的系统占比
碎片化这个问题谷歌也很头疼,但是还真没太好的办法,向下兼容不得不做,而且还要做不少
不过我自己觉得这问题是不大的,wrapper 的目的是保证环境的一致性。况且几个 G 对于现在开发人员的电脑来说其实并不算什么。Android 可能对于 gradle 版本会敏感一些,如果是普通 Java 项目,其实 gradle 版本影响不大,主要是 Android build tools 的版本升级太快了
另外如果一个 gradle wrapper 版本正在运行,就算同版本它还是会重新下载
gradle wrapper 里下载的文件,是根据啥保存的?根据 wrapper 文件夹的 hash 值?
比如,在~/.gradle/wrapper/dists/gradle-6.7.1-all 下面,有两个文件夹
2moa8rlfac5eqlcfgk98k0deb
7iy34phwxf6lzs24y8cbh0cph
一个是 gradle-wrapper.properties 默认下载地址
另一个是 gradle-wrapper.properties 修改了 distributionUrl 的下载地址
我不怎么用,下载的 Dist 就超过 10G 了。
Gradle 的配置语法,每个大版本都是有改动,如果隔两三大个版本,根本就不能运行。
反正我是经常拉下来项目第一件事就是手动改 gradle-wrapper.properties 中的 distributionUrl,以及 build.gradle 中的各个配置版本,然后再同步、编译……
这样改向下兼容好像没遇到过问题,向上有时候就不行,比如说现在有些最新的项目就要 android studio 4.0,gradle 6 以上,然而我这还在用 android studio3.5.2 gradle gradle-5.4.1-all
tasks.withType(Wrapper) {
enabled = false
}
同样的情况,maven 却没这种事情发生,实在是太稳了。