gradle下载慢的解决方案

news/2024/5/20 4:12:35 标签: gradle, android studio

今天从代码仓下载了很早以前的代码,需要重新下载gradle-5.4.1,然而下载过程过慢,等了半小时也只下载了1.06M。(忽略下面的6.1.1,当时测试时改成6.1.1而已)

网上查了相关问题,主要有以下三种方案(最后本人是用第三种方案解决)

 1. 替换阿里云镜像的方案

修改项目根目录下的文件 build.gradle

buildscript {
    repositories {
        //google()
        //jcenter()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/google/'}
        maven { url 'https://maven.aliyun.com/repository/jcenter/'}
        mavenLocal()
        mavenCentral()
    }
...
}
allprojects {
    repositories {
        //google()
        //jcenter()
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/google/'}
        maven { url 'https://maven.aliyun.com/repository/jcenter/'}
        mavenLocal()
        mavenCentral()
    }
}

默认的gradle下载地址的服务器在国外,导致下载速度慢,因此改成国内的镜像网站可以加快文件的下载速度,但是实际修改后还是下载很慢,重新同步了也没用。 (该方法应该能解决,只是我还没找到自己没成功的原因)

2. 设置代理的方案(没有测试)

3. 手动下载对应版本gradle文件并添加到指定文件夹中

可以去http://gradle.org/gradle-download/下载gradle,也可以去别的网站下,由于这个链接的下载速度比较慢,我就直接去CSDN下载了,下载后重点来了,网上很多博客说将gradle的压缩包(这里就是gradle-5.4.1-all.zip)放到指定的文件夹下(一般是 C:\Users\xxx\.gradle\wrapper\dists),实际放入这个文件夹后,重新打开Android Studio仍然会重新下载gradle

AS同步过程中发现C:\Users\xxx\.gradle\wrapper\dists下会生成一个C:\Users\xxx\.gradle\wrapper\dists\gradle-6.2.1-all\3221gyojl5jsh0helicew7rwx文件夹,里面有gradle-5.4.1-all.zip.lck和gradle-5.4.1-all.zip.part两个文件,从名字可以猜测,lck文件应该是锁文件,part表示gradle-5.4.1-all.zip的部分文件。

猜测最后下载好的压缩包就在这个文件夹下,因此把CSDN下载的文件直接放在这里(也就是C:\Users\xxx\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1-all.zip),重新打开Android Studio,同步后,压缩包会被解压的同目录文件夹中,gradle-5.4.1-all.zip.part文件会变成gradle-5.4.1-all.zip.ok,问题解决。


http://www.niftyadmin.cn/n/1032973.html

相关文章

Android Studio小技巧之查找中文字符串

首先去提供中文转Unicode的网站,将所需要搜索的中文输入 然后在Android Studio中按ctrlshiftf或者在左上角项目名右键Find in Path 输入^((?!(\*|//)).)[\u4eca][\u5929][\u5929][\u6c14][\u771f][\u597d],有几个中文输入几个"[\u****]"&…

Android Mvp架构详解

注意点: IView和IModel是顶层接口,接口中没有任何方法,用于多态。SingleInterfaceContract中View和Presenter接口以及ISingleInterfaceModel三个接口定义了MVP三层需要实现用于对方调用的方法。V层的基类BaseMVPActivity持有P层的对象&#…

String类中substring方法的内部实现以及内存泄漏详解

在JDK7之前,String类中的substring方法新建的对象与原对象指向同一个数组,具体来说: /**JDK6*/ public final class String {/** The value is used for character storage. */private final char value[];/** The offset is the first inde…

JAVA中 ^、、|和位运算符的含义详解

1. ^(异或运算符) ^是针对二进制的二目运算符。运算规则:两个二进制数值如果在同一位上相同,则结果中该位为0,否则为1,比如1011 & 0010 1001。 2. |(或运算符) |是针对二进制…

桥接模式,NAT模式,仅主机模式区别

实验设置了六台虚拟机,其中:1. Linux-1和Linux-2都是桥接模式。 2. Linux-3和Linux-4都是NAT模式。3. Linux-5和Linux-6都是仅主机模式。已知主机内网地址为10.199.130.85。 1.桥接模式 在桥接模式下,VMWare虚拟出来的操作系统就像是局域网…

String,StringBuilder,StringBuffer,数组,列表之间的若干转换以及若干数组常用操作方法

0. 几点说明 本博客主要研究不同类型数据之间相互转换以及常见的操作,StringBuilder和StringBuffer主要差别在于前者非线程安全,后者线程安全,方法差别不大,因此下文只研究了StringBuilder的相关操作。为了更加深入的理解实现过程…

从内存角度分析Java的深拷贝和浅拷贝

浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。深拷贝不仅拷贝对象本身,而且拷贝对象包含的引用指向的所有对象。举例来说更加清楚:对象A1中包含对B1的引用&#xf…

浅谈函数式编程

初识函数式接口 先介绍一下函数式接口,函数式接口就是有且只有一个抽象方法的接口(可以有多个非抽象方法),常见的函数式接口有Runnable,Comparable等 FunctionalInterface public interface Runnable {void run(); }…