解决Gradle Download缓慢的百种方法

DNS解析错误

        网络配置有误,或者本地运营商网络波动导致Gradle无法解析下载依赖库地址。
1.目前发现电信宽带有时无法下载某些库,切换到手机开热点(联通卡、移动卡)后,能下载了。故可以尝试用不同的运营商网络。
2.可尝试设置公共域名服务器。默认情况下,DNS服务器一般是网关地址,由运营商服务器解析。公共域名服务器有114.114.114.114、8.8.8.8,详情可见“国外公共DNS、国内公共DNS及国内运营商各省DNS服务器汇总”。.在这里插入图片描述
在这里插入图片描述
2.

仓库地址配置错误

        build.gradle中的repositories地址有误,有时候加载第三方源码库的时候,第三方源码库中配置的地址过旧、地址变更导致加载缓慢。
1.jcenter仓库已经停止了服务,这里删掉该仓库,可使用后文介绍的阿里云公共仓库代替。
在这里插入图片描述
2.第三方仓库地址有变化,如使用了maven { url ‘https://jitpack.io’ },该地址现在变更成了maven { url ‘https://www.jitpack.io’ }。详情可参考“Build:Download maven-metadata.xml…错误的解决
3.个别第三方库引入的仓库地址比较缓慢,如果项目中使用了第三方库且单独配置了maven仓库,如下图,可先注释掉这些仓库地址,再同步(Gradle Sync) 项目,让Android Studio先Gradle Donwnload其他依赖库。其他依赖库下载完后,打开注释再同步这些个别第三方依赖库。
在这里插入图片描述

网络原因

        无(科)法(学)访(上)问(网)公共代码仓库,可使用代理仓库替代这些仓库。
1.使用阿里云仓库地址来代替mavenCentral、jcenter、google等
在这里插入图片描述
我目前在项目中的仓库配置:

    repositories {
        google()
        mavenCentral()
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url 'https://www.jitpack.io' }
    }

2.配置代理,然后在Android Studio中配置HTTP Proxy,配置成功后可通过“Check connection”来检测配置情况。
在这里插入图片描述

未知原因

有次卡在Gradle:Download kotlin-compiler-embeddable-1.7.0.jar…1个小时,前文介绍的方法,替换dns、搭梯子等方法都用了,还是无法解决。在查阅各种资料后,琢磨出的解决方案:
1:在代码托管平台中搜索该库,发现能搜索到,且能正常下载,排除网络原因。
在这里插入图片描述
2:找到Gradle下载和缓存第三库的文件夹(C:\Users\个人文件夹.gradle\caches\modules-2\files-2.1\),在“kotlin-compiler-embeddable”发现了其他版本,唯独没发现需要的1.7.0文件夹
在这里插入图片描述
3:在这些文件夹,如1.7.10文件夹中,均会有一些随机名字命名的文件夹,这些随机文件夹里的文件才是我们的第三库。如1.7.10文件夹中有三个随机名字的文件夹,点进去后才是jar包、sources包、pom文件
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
4:所以不能新建1.7.0文件夹后,将下载的kotlin-compiler-embeddable.jar包、sources包直接放入,需要新建随机名字的文件夹。那么问题来了,这些随机名字是随便生成的还是依据某个规则生成的?通过查阅大量资料得知,是根据jar包下载地址,通过shasum算法加密后的地址。可是我们不知道如何加密,也就无法自己动手生成了。
5:通过查找Gradle Docs,发现各个文件夹的对应关系,于是在文件夹C:\Users\个人文件夹.gradle\caches\modules-2\metadata-2.97中发现一个可疑文件“resource-at-url.bin”。这是一个二进制文件,我们可以通过文本软件(windows电脑如记事本)打开后发现确实所有缓存库的下载地址。通过全局搜索“kotlin-compiler-embeddable-1.7.0”找到pom、jar、sources三个文件的随机名称2f94c7f9a21bec846098318e1cee7b2b498ffedd、4d09852239f61842072b40b524882fa3caaed371、ff3d45d05de434d94afa0a67889945fed5f65851。找到后直接新建1.7.0文件夹,随后新建这三个文件夹,将下载好的pom、jar、sources分别放入即可。(resource-at-url.bin也包含了这些库的下载地址,紧跟在随机名字后面)
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
6.经过上面一顿操作后,能正常编译了。(被这鬼问题折磨了很久,真狠安卓。)

  • 14
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!关于Gradle下载速度的问题,可能有以下几个原因和解决方案: 1. 网络问题:首先,请确保您的网络连接稳定。可以尝试使用其他网络连接或者尝试在不同的时间段进行下载,以避免网络拥堵的情况。 2. Gradle版本问题:如果您正在下载的是较旧的Gradle版本,可能会导致下载速度较。建议使用最新版本的Gradle,您可以在Gradle官方网站(https://gradle.org/releases/)上找到最新的稳定版本。 3. 镜像源问题:Gradle默认使用的是官方的下载镜像源,但某些地区的镜像源可能存在访问速度较的问题。您可以尝试切换到其他镜像源来提高下载速度。在项目的根目录下的 `gradle.properties` 文件中添加以下内容: ```properties systemProp.http.proxyHost=your-proxy-host systemProp.http.proxyPort=your-proxy-port systemProp.https.proxyHost=your-proxy-host systemProp.https.proxyPort=your-proxy-port ``` 将 `your-proxy-host` 和 `your-proxy-port` 替换为可用的代理主机和端口。 4. 缓存问题:Gradle会将下载的依赖项缓存在本地,下次下载时会先检查本地缓存是否存在,如果存在则直接使用缓存。如果您之前下载过相同版本的依赖项,Gradle会使用缓存,这可能会导致下载速度变。您可以尝试清理Gradle的缓存,然后再次进行下载。 在命令行中执行以下命令清理Gradle缓存: ```shell gradle clean ``` 或者,在Gradle用户目录下删除缓存文件夹(默认为 `~/.gradle/caches`),然后重新运行下载命令。 希望这些解决方案能帮助您加快Gradle下载速度!如果还有其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值