在打开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;
}

distributionUrl

base36

https://services.gradle.org/distributions/gradle-4.7-all.zip

4cret0dgl5o3b21weaoncl7ys

https://services.gradle.org/distributions/gradle-4.6-all.zip

bcst21l2brirad8k2ben1letg

https://services.gradle.org/distributions/gradle-4.5.1-all.zip

87kuriyahurjjkki3zii366f2

https://services.gradle.org/distributions/gradle-4.5-all.zip

cg9lyzfg3iwv6fa00os9gcgj4

https://services.gradle.org/distributions/gradle-4.4.1-all.zip

2kpyt0ea6hyxavvt21uml23gd

https://services.gradle.org/distributions/gradle-4.4-all.zip

9br9xq1tocpiv8o6njlyu5op1

https://services.gradle.org/distributions/gradle-4.3.1-all.zip

97nfwr7im082t7xwc6bkwfrg9

https://services.gradle.org/distributions/gradle-4.3-all.zip

2c1rgv6vofd95kl0ugolfeu5r

https://services.gradle.org/distributions/gradle-4.2.1-all.zip

domrskppdhf3wtn5mziw0c2zr

https://services.gradle.org/distributions/gradle-4.2-all.zip

35kgqhc6h01n0g1he8zslvs9l

https://services.gradle.org/distributions/gradle-4.1-all.zip

bzyivzo6n839fup2jbap0tjew

https://services.gradle.org/distributions/gradle-4.0.2-all.zip

680wmhe205zg4atnbsmvvt28p

https://services.gradle.org/distributions/gradle-4.0.1-all.zip

26awvqv6f41r14q9x72t4n0s

https://services.gradle.org/distributions/gradle-4.0-all.zip

ac27o8rbd0ic8ih41or9l32mv

https://services.gradle.org/distributions/gradle-3.5.1-all.zip

42vjebfdws9pjts3l4bouoq0p

https://services.gradle.org/distributions/gradle-3.5-all.zip

exhrs6ca08n232b14ue48lbye

https://services.gradle.org/distributions/gradle-3.4.1-all.zip

c3ib5obfnqr0no9szq6qc17do

https://services.gradle.org/distributions/gradle-3.4-all.zip

4bi7dnjj1pmknw0wphqavp2sz

https://services.gradle.org/distributions/gradle-3.3-all.zip

55gk2rcmfc6p2dg9u9ohc3hw9

https://services.gradle.org/distributions/gradle-3.2-all.zip

97ld1dyml0oep92x4lyn4g235

https://services.gradle.org/distributions/gradle-3.1-all.zip

ejgglywf033yp6s4x8ahmgm74

https://services.gradle.org/distributions/gradle-3.0-all.zip

6v8c6qg2jpi8twyfv2a5s9mii

https://services.gradle.org/distributions/gradle-2.14.1-all.zip

8bnwg5hd3w55iofp58khbp6yv

https://services.gradle.org/distributions/gradle-2.14-all.zip

t7wfomcrmv8dmyii9c9waem8

https://services.gradle.org/distributions/gradle-2.13-all.zip

1b9wlm73elu4cqnbc0rk7r7qn

https://services.gradle.org/distributions/gradle-2.12-all.zip

8ywkdai6puj5z81fume4e7njw

https://services.gradle.org/distributions/gradle-2.11-all.zip

ace7yl0a7udokebb27mt9s3qr

https://services.gradle.org/distributions/gradle-2.10-all.zip

a4w5fzrkeut1ox71xslb49gst

Gradle缓存目录文件命名规则的更多相关文章

  1. Linux发行版--发行版之间的关系--哲学思想--目录的命名规则及用途

    作业2 点此链接查看centos7安装 点此链接查看Ubuntu安装 点此链接查看作业3.5 点此链接查看作业7.8.9 作业1.4.6 Linux发行版--发行版之间的关系 1.Linux是什么 L ...

  2. DEDECMS模板文件命名规则

    DEDECMS提供的模板文件命名规则,也算是一种规范吧,希望能给大家提供参考. 模板保存位置 模板目录:{cmspath} /templets/样式名称(英文,默认为default,其中system为 ...

  3. Matlab 文件命名规则

    Matlab 文件命名规则 1.文件名命名要用英文字符,第一个字符不能是数字和下划线. 2.文件名不要取为matlab的一个固有函数,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文.数字. ...

  4. Android Studio Gradle 缓存目录设置

    ======================================================== 笔者:qiujuer 博客:blog.csdn.net/qiujuer 站点:www. ...

  5. Linux文件命名规则

    Linux目录结构命名规定 几乎所有的Linux版本都会遵循FHS(Filesystem Hierarchy Standard),中文翻译过来即为文件系统层次化标准.类似于Windows操作系统中c盘 ...

  6. Java编译后产生class文件的命名规则

    今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总结下 ...

  7. (转)Java编译后产生class文件的命名规则

      今天刚好有同学问了下Java编译后产生的.class文件名的问题,虽然一直都在使用Java做开发,但是之前对编译后产生的.class文件名的规范也基本没做了解过,也真的是忏愧啊!今天无论如何都要总 ...

  8. gradle cache目录(.gradle)剖析

    https://zhuanlan.zhihu.com/p/26473930 gradle下载后会对文件路径进行修饰,本文给出反向解析,把文件路径修改为原始路径的办法. 之所以研究这个,本来的目的是为了 ...

  9. [转]程序开发基础学习二(C++ Google Style 命名规则)

    无规矩不成方圆,新的岗位就需要服从团队的编码规则.很开心团队用的是Google的C++编码规则,大概看了下Google 的编码规则,正如九天翔雁说的:“Google的 C++ Style Guide远 ...

随机推荐

  1. SpringBoot系列: 与Spring Rest服务交互数据

    不管是单体应用还是微服务应用, 现在都流行Restful风格,  下图是一个比较典型的使用rest的应用架构, 该应用不仅使用database数据源, 而且用到了一个Weather微服务, 另一方面, ...

  2. Kettle系列: Kettle并行执行Trans后的合并问题

    我们在作业开发中为了处理效率, 经常需要并行执行一些trans, 等它们执行完毕后, 需要执行另外一些trans, 从流程上也就是分支+汇合. 粗看起来很简单, Kettle中对接一下这些组件就搞定了 ...

  3. WCF各个Service之间共享数据

    为了实现cache存储验证用户身份信息,减少通过数据库验证的次数,需要在wcf各个服务之间建立共享数据区. namespace WcfService1 {     public static clas ...

  4. mysql load_file在数据库注入中使用

    load_file函数只有满足两个条件就可以使用: 1.文件权限:chmod a+x pathtofile 2.文件大小: 必须小于max_allowed_packet 例子: select load ...

  5. Linux 下磁盘挂载

    Linux 磁盘挂载 新硬盘挂载: fdisk /dev/sdb p # 打印分区 d # 删除分区 n # 创建分区,(一块硬盘最多4个主分区,扩展占一个主分区位置.p主分区 e扩展) w # 保存 ...

  6. Python之线程 3 - 信号量、事件、线程队列与concurrent.futures模块

    一 信号量 二 事件 三 条件Condition 四 定时器(了解) 五 线程队列 六 标准模块-concurrent.futures 基本方法 ThreadPoolExecutor的简单使用 Pro ...

  7. Food Log with Speech Recognition and NLP

    1. 分词 word segmentation 国内有jieba 分词 2. Named Entity Recognition 训练自己的Model How can I train my own NE ...

  8. Kaldi阅读并更改代码

    Common utilities base/kaldi-common.h 几乎所有Kaldi程序都会include该头文件. 该头文件include了一些其他位于base/目录的头文件,主要提供: 错 ...

  9. 【webpack】使用DllPlugin拆分模块

    开发过程中,我们经常需要引入大量第三方库,这些库并不需要随时修改或调试,我们可以使用DllPlugin和DllReferencePlugin单独构建它们. 具体使用如下: const HtmlWebp ...

  10. SQL SERVER 2008 R2安装的时候提示“该实例名称MSSQLSERVER已在使用

    SQL SERVER 2008安装的时候提示“该实例名称已在使用”解决办法._冷雨玫瑰_新浪博客---和这文章描述差不多http://blog.sina.com.cn/s/blog_672b419f0 ...