Android 什么';gradle缓存路径中sha1代码目录的规则是什么?
我想从网络下载jar,并将其添加到gradle缓存(.gradle/caches/modules-2/files-2.1)中,但我不知道如何生成它的SHA1目录 我从网络上了解到,知道SHA1代码是由jar的URL(即)生成的,并且SHA1目录是URL的SHA1代码,但当我验证它时,它是不正确的。 所以我想弄清楚规则是什么 例如,此URL()的SHA1代码是Android 什么';gradle缓存路径中sha1代码目录的规则是什么?,android,gradle,Android,Gradle,我想从网络下载jar,并将其添加到gradle缓存(.gradle/caches/modules-2/files-2.1)中,但我不知道如何生成它的SHA1目录 我从网络上了解到,知道SHA1代码是由jar的URL(即)生成的,并且SHA1目录是URL的SHA1代码,但当我验证它时,它是不正确的。 所以我想弄清楚规则是什么 例如,此URL()的SHA1代码是c68bd953b6f2b0b7022a3ca26afeb6ecd40dbeef,但Gradle生成的SHA1代码是767954A4D738
c68bd953b6f2b0b7022a3ca26afeb6ecd40dbeef
,但Gradle生成的SHA1代码是767954A4D738B77606D19A6C0255193651CBA
它们不一样
检查这些图片
最后,希望你们能提供一些有用的信息。
谢谢大家! 您正在将文件的
SHA
与url的SHA
进行比较。您在gradle
中考虑的sha是下载jar的url的shagradle
维护用于缓存的url的sha,并避免在依赖关系树中多次下载jar
。正如您所知,sha将是唯一的,因此在您更改依赖项本身之前,现有的依赖项jar将不会再次下载。其中,文件sha是一种签名,用于确保文件内容不被修改,保持原样。希望现在一切都清楚了。您不应该尝试这样做,因为如果操作正确,对于文件
缓存,它将不起作用,但对于元数据缓存,它将不起作用
由于Gradle努力实现可复制的构建,您将只保存文件的下载,而不是Gradle构建需要定义一个存储库,在该存储库中可以找到文件,并且
头请求将确认其SHA1
Gradle依赖项缓存不仅仅是一个工件存储库。如果不是实际上不可能的话,也不鼓励手动添加依赖项。一开始为什么要这么做?Gradle可以解析来自不同位置的依赖关系。它非常灵活。