Android Gradle 國內主流鏡像倉庫全局配置方案
以下是整合了國內主流鏡像倉庫的全局配置方案,包括阿里雲、華為雲、騰訊雲等多個可靠鏡像源。
方案一:項目級 build.gradle 完整配置 (推薦)
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 文件中添加:
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:
# 阿里雲鏡像
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 中添加:
# 使用阿里雲鏡像代理
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/ |
最佳實踐建議
- 推薦組合:阿里雲 + 華為雲 + 騰訊雲鏡像組合使用
- 優先級:將最快的鏡像源放在前面
- 保留原始倉庫:保留
mavenCentral() 和google() 作為備選 - 版本更新:定期檢查鏡像倉庫是否同步了最新依賴
- 網絡測試:不同地區對不同鏡像的訪問速度可能有差異,建議測試後選擇最優組合
以上配置已經覆蓋了國內主流的鏡像倉庫,可以有效解決Android項目構建時的依賴下載問題。