Gradle 加速或使用国内源(Android 项目同样适用)

  • 加速模式
    ~/gradle.properties 或对应的 Android 项目下的 gradle.properties 文件:

    # 使用 HTTP 代理
    systemProp.http.proxyHost=127.0.0.1
    systemProp.http.proxyPort=1081
    systemProp.https.proxyHost=127.0.0.1
    systemProp.https.proxyPort=1081
  • 使用国内源
    打开项目根目录的 gradle.properties,注释所有 google()jcenter() 的行,添加阿里云的源:

参照回帖内容

资源

Gradle下载地址:

Gradle 官方:
https://services.gradle.org/distributions/

腾讯云:
https://mirrors.cloud.tencent.com/gradle/

南京大学:
https://mirror.nju.edu.cn/gradle/
https://doc.nju.edu.cn/books/35f4a/page/gradle

上海交大:
https://s3.jcloud.sjtu.edu.cn/899a892efef34b1b944a19981040f55b-oss01/gradle/distributions/mirror_clone_list.html

教程一:

  • gradle bin

    sed -i 's/services.gradle.org\/distributions\//mirrors.cloud.tencent.com\/gradle\//g' ./gradle/wrapper/gradle-wrapper.properties
    
    # 腾讯云
    distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.6.1-bin.zip
    
    # 默认国外
    distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip
  • gradle maven

    mkdir ~/.gradle
    cat > ~/.gradle/init.gradle << \EOF
    def repoConfig = {
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository) {
                def url = repo.url.toString()
                if (url.contains('repo1.maven.org/maven2')
                    || url.contains('repo.maven.apache.org/maven2')
                    || url.contains('jcenter.bintray.com')
                    || url.contains('maven.google.com')
                    || url.contains('plugins.gradle.org/m2')
                    || url.contains('repo.spring.io/libs-milestone')
                    || url.contains('repo.spring.io/plugins-release')
                    || url.contains('repo.grails.org/grails/core')
                    || url.contains('repository.apache.org/snapshots')
                ) {
                    println "gradle init: [buildscript.repositories] (${repo.name}: ${repo.url}) removed"
                    remove repo
                }
            }
        }
    
        // 腾讯云 maven 镜像聚合了:central、jcenter、google、gradle-plugin
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
        // 阿里云 https://developer.aliyun.com/mvn/guide
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/spring' }
        maven { url 'https://maven.aliyun.com/repository/spring-plugin' }
        maven { url 'https://maven.aliyun.com/repository/grails-core' }
        maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
    }
    
    allprojects {
        buildscript {
            repositories repoConfig
        }
    
        repositories repoConfig
    }
    EOF

参考文章: