我如何告诉gradle从存储库中重新下载依赖项?


当前回答

就我而言,上述方法都没用,我所做的是:

在构建。gradle,注释与未解决的导入相关的依赖项 点击“立即同步” 取消我刚才注释的内容 再次点击“立即同步”

然后我的导入又被正确地解决了。

其他回答

要刷新缓存的“释放”版本,唯一的选择是清除本地缓存。

rm -rf $HOME/.gradle/caches/

要刷新缓存的“快照”版本,可以:

./gradlew build --refresh-dependencies

如果您正在使用Intellij,您可以右键单击根项目,然后选择刷新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没有被设置为离线。

将其添加到构建的顶层。Gradle,很高兴有上面的依赖

configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

我确保我的依赖是这样写的:

implementation('com.github.juanmendez:ThatDependency:ThatBranch-SNAPSHOT') {
    changing = true
}

之后,我打开Android Studio中的Gradle面板,点击蓝色圆圈箭头按钮。我总是能看到我的更新得到一个新的新鲜副本。

只有手动删除缓存文件夹中的特定依赖才有效…由企业回购部门的同事制作的工艺品。