本文主要是介绍Android Sutdio依赖Snapshot版本,无法同步最新的包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
起因
局域网中搭建了Nexus托管本地打包的aar,正常情况下,把修改完成的库推送到仓库后,其他项目引用Snapshot版本的依赖,同步后会马上下载最新的包,但是当第二次+推送后,就没有重新下载最新的包,导致代码一直飘红,但是build的时候,可以看到输出的日志中有Download http://xxx, took xx ms (xxx kB)
,就是刚上传的最新的包,结果编译成功。
尝试解决
- 执行Android Studio --File–invalidate caches… 全部勾上重启,结果没用
- Build–Clean Project ,没用
- 重新打包上传,没用
- 不依赖Snapshot版本,直接指定最新的版本号,同步报错:
Cannot find a version of xxx' that satisfies the version constraints: Dependency path 'xxx:unspecified' --> 'xxx' Constraint path "xxx:unspecified' --> 'xxx:{strictly xxx-SNAPSHOT}' because of the following reason: debugRuntimeClasspath uses version xxx-SNAPSHOT
结果就是没能把最新的包弄下来,还是没用 - 关闭Android studio ,删除
C:\Users\xxx\.gradle\caches
目录,重新打开项目,等待所有依赖下载完毕,恢复正常
最终解决办法
关闭Android studio ,删除C:\Users\xxx\.gradle\caches
目录,重新打开项目,等待所有依赖下载完毕,恢复正常**,这样删除会导致所有本地的依赖缓存文件被删掉,打开项目需重新下载所有依赖,首次编译时间会变长,或许可以找到那个有问题的包,单独把他的缓存删掉,没试过。
关于这个问题,找ChatGPT了解一下,没验证过:
删除整个 “.gradle/caches” 文件夹会清除所有依赖缓存,这可能会导致构建时间延长,因为所有依赖项都需要重新下载。
在这种情况下,为了避免删除全部缓存,你可以尝试删除特定的依赖项缓存。在 “.gradle/caches/modules-2/files-2.1” 目录下,可以找到已下载的依赖项。你可以根据依赖项的组织、模块和版本号来定位并删除相关的缓存文件夹。
这篇关于Android Sutdio依赖Snapshot版本,无法同步最新的包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!