You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制刷新远程依赖的.aar文件?禁用Gradle特定文件缓存

强制刷新特定远程AAR依赖(无需清空整个Gradle缓存)

我之前也碰到过一模一样的问题——固定版本的远程AAR更新了,但Gradle死死攥着缓存里的旧文件不肯松手。下面几个精准方案,帮你只针对这个特定AAR处理,完全不用动整个缓存:

1. 手动删除该AAR的缓存文件

Gradle会把下载的依赖存在./gradle/caches/modules-2/files-2.1/路径下,按照groupId/artifactId/version的层级存放。操作步骤很简单:

  • 找到你依赖的AAR对应的坐标(比如你的依赖是implementation 'com.your.group:your-lib:1.0.0@aar')
  • 定位到路径./gradle/caches/modules-2/files-2.1/com.your.group/your-lib/1.0.0/
  • 删除这个文件夹里的所有文件(就是缓存的旧AAR)
  • 重新执行构建,Gradle就会自动从远程仓库拉取最新的AAR了

2. 通过Gradle配置永久禁用该AAR的缓存

如果不想每次手动删缓存,可以在模块的build.gradle里给这个依赖添加专属缓存策略,让Gradle每次构建都主动检查并重新下载:

implementation('com.your.group:your-lib:1.0.0@aar') {
    // 标记该依赖为"可能变化"的(哪怕是固定版本号)
    changing = true
    // 直接禁用该依赖的本地缓存,每次构建都重新拉取
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

配置完成后,每次构建Gradle都会跳过本地缓存,直接从远程仓库获取最新的AAR文件。

3. 用Gradle命令临时刷新特定模块的依赖

如果你只是想临时刷新一次,不想修改配置文件,可以结合--refresh-dependencies参数和具体的模块构建任务。虽然这个参数默认会刷新模块下的所有依赖,但比清空整个缓存要精准得多:

./gradlew :app:assembleDebug --refresh-dependencies

把:app换成你需要刷新的模块名称即可。

补充提醒:如果你的AAR是发布在Maven仓库的固定版本,要先确认远程仓库的AAR确实已经更新,并且没有被仓库的CDN或缓存机制拦截——有时候问题出在远程端,不是Gradle的锅。

内容的提问来源于stack exchange,提问作者matdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:52:21