前言
有些时候,遇到gradle构建下载依赖包的时候出现了错误,或者timeout。于是乎就想要自己手动去maven、jcenter、jitpack、aliyun等仓库去下载。下载之后呢可以放在gradle的cache目录下面,也就是下面的地址
.gradle/caches/modules-2/files-2.1
可以看到,gradle构建下载的依赖包都在这里。
然而当我们手动下载之后,还需要放到对应的包的目录下面去。
那么问题来了,下载好了之后这个目录是啥?
网上资料很少,只知道是SHA1码,一开始还以为是下载的URL的SHA1码,结果验证了一下,却不是的。
解决
最终直接分享答案,这个目录其实就是下载的文件的SHA1码,是文件的SHA1。
mac的话可以用shasum命令查看。
shasum (文件路径)
win的话好像是
certutil -hashfile (文件路径) SHA1
最后
一般情况,jar、aar、pom、source、doc等文件,都是一个SHA1目录对应一个文件。
有些时候,jar和pom会下载到同一个目录下面,这时候呢,其实还是用的是jar的SHA1。
顺便再说一下pom是干啥的。
pom其实就是aar或者jar依赖的其他第三方工程的一个配置文件。
可以看到,这里其实是seamless-http的第三方依赖,比如servlet-api、seamless-util等,就跟gradle一样。gradle依赖的第三方库,可能还依赖了其他的三方库。