Android Gradle 国内主流镜像仓库全局配置方案

Android Gradle 国内主流镜像仓库全局配置方案

以下是整合了国内主流镜像仓库的全局配置方案,包括阿里云、华为云、腾讯云等多个可靠镜像源。

方案一:项目级 build.gradle 完整配置 (推荐)

groovy 复制代码
buildscript {
    repositories {
        // 阿里云镜像
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        maven { url 'https://maven.aliyun.com/repository/central' }
    
        // 华为云镜像
        maven { url 'https://repo.huaweicloud.com/repository/maven/' }
    
        // 腾讯云镜像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    
        // 网易镜像
        maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
    
        // 首都在线
        maven { url 'https://maven.oscs.oschina.net/content/groups/public/' }
    
        // 保留中央仓库
        mavenCentral()
    
        // 保留Google仓库(备选)
        google()
    }
}

allprojects {
    repositories {
        // 阿里云镜像
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
    
        // 华为云镜像
        maven { url 'https://repo.huaweicloud.com/repository/maven/' }
    
        // 腾讯云镜像
        maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    
        // 网易镜像
        maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
    
        // 首都在线
        maven { url 'https://maven.oscs.oschina.net/content/groups/public/' }
    
        // 保留中央仓库
        mavenCentral()
    
        // 保留Google仓库(备选)
        google()
    }
}

方案二:全局 init.gradle 配置 (用户级)

在 ~/.gradle/init.gradle​ 文件中添加:

groovy 复制代码
allprojects {
    repositories {
        // 移除默认仓库
        all { ArtifactRepository repo ->
            if (repo instanceof MavenArtifactRepository) {
                def url = repo.url.toString()
                if (url.contains('repo1.maven.org/maven2') || 
                    url.contains('jcenter.bintray.com') || 
                    url.contains('maven.google.com') || 
                    url.contains('plugins.gradle.org/m2')) {
                    remove repo
                }
            }
        }
    
        // 添加国内主流镜像仓库
        // 阿里云镜像
        maven { 
            url 'https://maven.aliyun.com/repository/public'
            allowInsecureProtocol = true
        }
        maven { 
            url 'https://maven.aliyun.com/repository/google'
            allowInsecureProtocol = true
        }
        maven { 
            url 'https://maven.aliyun.com/repository/gradle-plugin'
            allowInsecureProtocol = true
        }
    
        // 华为云镜像
        maven { 
            url 'https://repo.huaweicloud.com/repository/maven/'
            allowInsecureProtocol = true
        }
    
        // 腾讯云镜像
        maven { 
            url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'
            allowInsecureProtocol = true
        }
    
        // 网易镜像
        maven { 
            url 'https://mirrors.163.com/maven/repository/maven-public/'
            allowInsecureProtocol = true
        }
    
        // 首都在线
        maven { 
            url 'https://maven.oscs.oschina.net/content/groups/public/'
            allowInsecureProtocol = true
        }
    
        // 保留中央仓库
        mavenCentral()
    }
}

方案三:gradle-wrapper.properties 镜像配置

修改 gradle/wrapper/gradle-wrapper.properties​ 使用国内镜像下载Gradle:

ruby 复制代码
# 阿里云镜像
distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-8.0-bin.zip

# 或腾讯云镜像
# distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip

# 或华为云镜像
# distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-8.0-bin.zip

方案四:全局 gradle.properties 配置

在 ~/.gradle/gradle.properties​ 中添加:

ini 复制代码
# 使用阿里云镜像代理
systemProp.http.proxyHost=mirrors.aliyun.com
systemProp.http.proxyPort=80
systemProp.https.proxyHost=mirrors.aliyun.com
systemProp.https.proxyPort=80

# 或者使用腾讯云代理
# systemProp.http.proxyHost=mirrors.cloud.tencent.com
# systemProp.http.proxyPort=80
# systemProp.https.proxyHost=mirrors.cloud.tencent.com
# systemProp.https.proxyPort=80

国内主流镜像仓库列表

镜像提供商 仓库地址
阿里云 ​https://maven.aliyun.com/repository/public​
阿里云(Google) ​https://maven.aliyun.com/repository/google​
阿里云(Gradle插件) ​https://maven.aliyun.com/repository/gradle-plugin​
华为云 ​https://repo.huaweicloud.com/repository/maven/​
腾讯云 ​https://mirrors.cloud.tencent.com/nexus/repository/maven-public/​
网易 ​https://mirrors.163.com/maven/repository/maven-public/​
首都在线 ​https://maven.oscs.oschina.net/content/groups/public/​
中国科学技术大学 ​https://mirrors.ustc.edu.cn/nexus/content/groups/public/​

最佳实践建议

  1. 推荐组合:阿里云 + 华为云 + 腾讯云镜像组合使用
  2. 优先级:将最快的镜像源放在前面
  3. 保留原始仓库 :保留 mavenCentral() 和 google() 作为备选
  4. 版本更新:定期检查镜像仓库是否同步了最新依赖
  5. 网络测试:不同地区对不同镜像的访问速度可能有差异,建议测试后选择最优组合

以上配置已经覆盖了国内主流的镜像仓库,可以有效解决Android项目构建时的依赖下载问题。

相关推荐
smallyoung8 分钟前
告别N+1:Spring Boot 一键数据翻译框架体系
java·后端·架构
Bazingga2 小时前
Java16 record 完整拆解——语法、语义、限制、反射
java·后端
SL_staff3 小时前
规则联动:给工厂装上‘自动化神经反射弧’——JVS·物联网平台规则引擎实战教程
java·人工智能·物联网
骑着蜗牛撵大象3273 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
WJ.Polar4 小时前
Java封装、继承、多态
java·开发语言
ly76894 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
摇滚侠4 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
奇牙coding4 小时前
Codex CLI 升级后多文件编辑静默失效:config.yaml 枚举变更排查与修复指南
java·前端·javascript·ai
小羊没烦恼!4 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
Lhappy嘻嘻5 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm