美文网首页
Gradle Tips (1):强制Gradle 刷新依赖

Gradle Tips (1):强制Gradle 刷新依赖

作者: 罗力 | 来源:发表于2019-07-11 22:49 被阅读0次

事情是这样的。
这周二,同事提交了一个组件的新版本0.1.0,更新了工程里对这个组件的依赖的版本号之后,Sync Now成功,但发现新版本把以前的一个接口移除了,需要重新加回来。

于是乎,同事重新提交了组件,然而版本号不变,依然保持0.1.0

接着悲剧就发生了。由于之前Gradle 本地已经下载到了旧的0.1.0版本的组件,这个组件缓存到了本机的cache中,后续Gradle发现本地已有0.1.0版本,就不会重复发起网络请求去拉取这个组件,因而本地使用的,就一直是旧的那份缓存,而非服务器上更新过的那份。

解决问题关键,就是让Gradle重新去下载依赖的组件。有两种方式:

  1. 清除Gradle 的缓存:缓存所在路径为~/.gradle/caches/ ,简单粗暴地使用rm -rf ~/.gradle/caches/干掉所有缓存,自然就能让Gradle重新下载依赖的组件。但这种方式过于粗暴,会影响全局所有的缓存,不仅仅是所有工程的依赖,还包括Gradle Wrapper依赖的Gradle 版本缓存。

  2. 另一种方式,是在执行 Gradle 脚本任务的命令后面,追加--refresh-dependencies参数,让Gradle在执行过程中,刷新相关的依赖。这样就能做到仅刷新当前工程的依赖,而不影响其他的东西。示例:./gradlew :app:assembleDebug --refresh-dependencies

参考资料

How can I force gradle to redownload dependencies?
The Gradle build system- Tutorial

相关文章

网友评论

      本文标题:Gradle Tips (1):强制Gradle 刷新依赖

      本文链接:https://www.haomeiwen.com/subject/eipxkctx.html