简介
我们在使用gradle 时, gradle自动下载时的目录是如何生成的? 如果知道目录生成的规则, 那我们就可以手动下载, 加快速度
生成规则
其实gradle下载目录生成就是使用 md5 把gradle的下载的url进行hash, 然后再转换成36进制字符串得到了. 代码如下:
private String getHash(String string) {
try {
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
byte[] bytes = string.getBytes();
messageDigest.update(bytes);
return new BigInteger(1, messageDigest.digest()).toString(36);
} catch (Exception e) {
throw new RuntimeException("Could not hash input string.", e);
}
}
测试
例如: 现在要下载 https://downloads.gradle-dn.com/distributions/gradle-6.8-all.zip
, 我们直接使用上面代码进行生成hash值为: 2oz4ud9k3tuxjg84bbf55q0tn
, 与自动生成的目录:
是一致的. 因此在下载gradle的时候, 可以进行预先生成目录, 然后用下载工具(如迅雷)进行手动下载.速度还是可以的.