我如何告诉gradle从存储库中重新下载依赖项?
当前回答
只有手动删除缓存文件夹中的特定依赖才有效…由企业回购部门的同事制作的工艺品。
其他回答
对于大多数情况,只需简单地重新构建项目就可以了。有时你必须运行。/gradlew build——refresh-dependencies,就像前面提到的那样(需要很长时间,取决于你有多少依赖)。无论如何,有时这些都不会工作:依赖项不会被更新。然后,你可以这样做:
从gradle文件中删除依赖项 运行/调试你的项目并等待它失败(以NonExistingClass的原因) 点击“构建项目”并等待它成功完成 再次运行/调试
这很荒谬,看起来很疯狂,但我实际上每天都在使用这个过程,只是因为我需要的依赖关系可以更新几十次,而任何适当的解决方案都不会有任何效果。
对于gradle 6.3版本,kotlin 1.3.70版本,Groovy 2.5.10版本,似乎更改更改为isChange
工作配置为
implementation("com.sample:commons:1.0.0-SNAPSHOT") {
isChanging = true
}
此外,运行此命令获取最新的
./gradlew assemble --refresh-dependencies
就我而言,上述方法都没用,我所做的是:
在构建。gradle,注释与未解决的导入相关的依赖项 点击“立即同步” 取消我刚才注释的内容 再次点击“立即同步”
然后我的导入又被正确地解决了。
删除该目录:
C:\Users\[username]\.gradle
您可以删除特定组或工件id的缓存,而不是删除整个gradle缓存,就像这里的一些答案所建议的那样。我在我的.bash_profile中添加了以下函数:
deleteGradleCache() {
local id=$1
if [ -z "$id" ]; then
echo "Please provide an group or artifact id to delete"
return 1
fi
find ~/.gradle/caches/ -type d -name "$id" -prune -exec rm -rf "{}" \; -print
}
用法:
$ deleteGradleCache com.android.support
然后,在下一次构建或重新同步时,gradle将重新下载依赖项。
推荐文章
- Gradle代理配置
- Gradle替代mvn安装
- 为什么要把Gradle Wrapper提交给VCS?
- 在构建中编写注释的语法是什么?gradle文件?
- 它目前正在被另一个Gradle实例使用
- 多个dex文件定义了landoid /support/v4/accessibilityservice/AccessibilityServiceInfoCompat
- Gradle:无法确定java版本从11.0.2开始
- Gradle构建脚本依赖项
- 如何确定Gradle的版本?
- Android Studio突然无法解析符号
- 没有找到Gradlew命令?
- 无法找到com.google.android.gms:play-services:3.1.59 3.2.25 4.0.30 4.1.32 4.2.40 4.2.42 4.3.23 4.4.52 5.0.77 5.0.89 5.2.08 6.1.11 6.1.71 6.5.87
- .dex文件中方法引用的数量不能超过64k API 17
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- Android工作室如何运行gradle同步手动?