java - 随机字符串在 gradle 缓存目录中作为 MD5 代码的子目录名称是什么意思?

标签 java android android-studio gradle android-gradle-plugin

我最近使用 Android Studio 开发 android 应用程序,与 Eclipse 最不同的是,它使用 gradle 作为构建工具。 Gradle 当然非常方便,我不需要再下载 jar 并将其放入 libs 文件夹中,gradle 会下载我需要的所有依赖项并将它们缓存在我的笔记本电脑。例如,OkHttp 缓存文件将是这样的:

C:\Users\tony\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp\okhttp\2.6.0\212387a39088ecd3daff8e3bfc3bdc4123e33c67

现在我只是对最后一部分感到困惑。名为 212387a39088ecd3daff8e3bfc3bdc4123e33c67 的目录是什么意思。 gradle 是如何生成的以及生成规则?因为我发现当我将缓存文件复制到另一台笔记本电脑时它不起作用。 Gradle 将再次下载所有这些文件并生成另一个随机目录名称。希望可以有人帮帮我。非常感谢!

最佳答案

字母数字字符串是依赖文件的 SHA1 校验和。来自 gradle documentation :

The storage path for a downloaded artifact includes the SHA1 checksum, meaning that 2 artifacts with the same name but different content can easily be cached.

如果您正在寻找如何在计算机之间移动 gradle 缓存,请参阅此处:

https://stackoverflow.com/a/34973244/745574

关于java - 随机字符串在 gradle 缓存目录中作为 MD5 代码的子目录名称是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571390/

相关文章:

java - JSR 303 - Hibernate Validation 4.2.0 - UnexpectedTypeException - @Valid 和@Size 组合

Java 方法作用域找不到符号?

java - 如何在 Intellij IDEA 中保持 PMD 工具提示显示?

java - android adMob 找不到类

android - fragment 不会在旋转时被破坏

java - Android Studio 滑动到不同的 View

java - 在 Java 中获取 HTTP 响应的大小

android - adb -s emu geo fix 在不使用 telnet 的情况下无法工作

android - 是否可以将 Android Studio 配置为针对已弃用的方法提供建议?

Android studio 4.2 找不到模拟器、设备或 AVD 管理器