Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 什么';gradle缓存路径中sha1代码目录的规则是什么?_Android_Gradle - Fatal编程技术网

Android 什么';gradle缓存路径中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

我想从网络下载jar,并将其添加到gradle缓存(.gradle/caches/modules-2/files-2.1)中,但我不知道如何生成它的SHA1目录

我从网络上了解到,知道SHA1代码是由jar的URL(即)生成的,并且SHA1目录是URL的SHA1代码,但当我验证它时,它是不正确的。 所以我想弄清楚规则是什么

例如,此URL()的SHA1代码是
c68bd953b6f2b0b7022a3ca26afeb6ecd40dbeef
,但Gradle生成的SHA1代码是
767954A4D738B77606D19A6C0255193651CBA
它们不一样

检查这些图片

最后,希望你们能提供一些有用的信息。
谢谢大家!

您正在将文件的
SHA
与url的
SHA
进行比较。您在
gradle
中考虑的sha是下载jar的url的sha
gradle
维护用于缓存的url的sha,并避免在
依赖关系树中多次下载jar
。正如您所知,sha将是唯一的,因此在您更改依赖项本身之前,现有的依赖项jar将不会再次下载。其中,文件sha是一种签名,用于确保文件内容不被修改,保持原样。希望现在一切都清楚了。

您不应该尝试这样做,因为如果操作正确,对于
文件
缓存,它将不起作用,但对于元数据缓存,它将不起作用


由于Gradle努力实现可复制的构建,您将只保存文件的下载,而不是Gradle构建需要定义一个存储库,在该存储库中可以找到文件,并且
请求将确认其
SHA1

Gradle依赖项缓存不仅仅是一个工件存储库。如果不是实际上不可能的话,也不鼓励手动添加依赖项。一开始为什么要这么做?Gradle可以解析来自不同位置的依赖关系。它非常灵活。