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


当前回答

对于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

其他回答

您可以删除特定组或工件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命令的人:

Open Android Studio 点击终端(你会在Android Studio的基础上找到它) 命令工具将打开 输入命令gradlew build——refresh-dependencies

Android Studio 3.4.1

简单地打开gradle选项卡(可以位于右侧),右键单击列表中的父项(应该称为“Android”),然后选择“刷新依赖项”。

这将解决您的问题。

如果你使用的是最新版本的Gradle,你可以使用——refresh-dependencies选项。

./gradlew build --refresh-dependencies

你可以参考Gradle手册。

——refresh-dependencies选项告诉Gradle忽略已解析模块和工件的所有缓存条目。将对所有配置的存储库执行新的解析,重新计算动态版本,刷新模块,并下载工件。

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

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

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