Gradle缓存目录文件命名规则
Posted 南极冰川雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gradle缓存目录文件命名规则相关的知识,希望对你有一定的参考价值。
在打开android Studio项目的时候,会下载项目对应版本的gradle,该版本是在项目根目录下\\gradle\\wrapper\\gradle-wrapper.properties文件中指定的:
下载的gradle文件在Windows电脑上会缓存在C:\\Users\\xxx(用户名)\\.gradle\\wrapper\\dists\\gradle-3.3-all\\55gk2rcmfc6p2dg9u9ohc3hw9目录下
那这个目录名55gk2rcmfc6p2dg9u9ohc3hw9是根据什么规则生成的呢?看似没有规律,研究了一下,发现也是按照一定规则生成的,如下:
1.从gradle/wrapper/gradle-wrapper.properties中得到distributionUrl,即https://services.gradle.org/distributions/gradle-3.3-all.zip,注意文件中的\\不算
2.对distributionUrl进行MD5运算
3.根据MD5值构造一个uint 128位整数
4.将整数利用base36得到base36的值(取小写)
java代码如下:
public static String getFileName(String distributionUrl) { MessageDigest messageDigest = null; try { messageDigest = MessageDigest.getInstance("MD5"); messageDigest.update(distributionUrl.getBytes()); String str = new BigInteger(1, messageDigest.digest()).toString(36); return str; } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; }
以上是关于Gradle缓存目录文件命名规则的主要内容,如果未能解决你的问题,请参考以下文章