我如何告诉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将重新下载依赖项。
其他回答
可以删除缓存jar的文件夹。
在我的例子中,在Mac上,库被缓存在路径:
/ /用户/ MY_NAME / .gradle /缓存模块2 - 2.1 / cached-library-to-remove /文件
我删除了缓存的库文件夹(在上面的例子中是“cache -library-to-remove”),删除了我的项目的构建文件夹,并重新编译。 然后下载了新库。
对于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
你可以这样做
https://marschall.github.io/2017/04/17/disabling-gradle-cache.html
引用自禁用Gradle构建缓存
当你经常使用Gradle构建>个大型项目时,Gradle构建缓存可能是一个很棒的东西。然而,如果只是偶尔构建开源>项目,它很快就会变得很大。 要禁用Gradle构建缓存,请在~/.gradle/ Gradle .properties中添加以下代码行 org.gradle.caching = false 可以清除现有缓存 rm -rf $HOME/.gradle/caches/ rm -rf $HOME/.gradle/wrapper/
只有手动删除缓存文件夹中的特定依赖才有效…由企业回购部门的同事制作的工艺品。
我认为gradle 2.14.1解决了这个问题。接受的答案是正确的,但有一个bug在gradle与-refresh-dependencies。2.14.1修复了这个问题。
参见https://discuss.gradle.org/t/refresh-dependencies-should-use-cachechangingmodulesfor-0s/556
推荐文章
- 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同步手动?
- Android Studio在创建新项目时卡住了Gradle下载
- 无法解析符号“AppCompatActivity”
- 在Mac OS X上安装/升级gradle
- 错误:执行失败的任务':app:compileDebugKotlin'。>编译错误。详细信息请参见日志
- Android Studio 3.0口味维度问题
- 如何设置gradle家同时导入现有的项目在Android工作室
- 执行com.android.build.gradle.internal.tasks时失败
- 错误:与依赖项“com.google.code.findbugs:jsr305”冲突
- 如何/何时生成Gradle包装文件?