Android Studio || 国内主流镜像仓库全局配置方案
适用于 Gradle 7.x/8.x,整合阿里云、华为云、腾讯云等稳定镜像源,一键加速依赖下载。
一、方案总览
方案 | 作用域 | 推荐场景 | 备注 |
---|---|---|---|
① settings.gradle 项目级 | 单仓库 | 团队协作、CI 统一 | 随 Git 提交,开箱即用 |
② init.gradle 用户级 | 全局 | 个人开发 | 一次配置,所有项目生效 |
③ gradle-wrapper.properties | Gradle 分发包 | 首次打开项目 | 解决“Downloading gradle-8.x-bin.zip”卡顿 |
④ gradle.properties 代理级 | 全局网络 | 公司代理/镜像加速 | 底层 HTTP(S) 代理 |
二、方案一:项目级 settings.gradle
(团队最常用)
把下面内容直接贴到项目根目录的 settings.gradle
即可,无需修改模块级 build.gradle
。\
原来内容
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "xxx"
include ':app'
pluginManagement {
repositories {
// 1. 阿里云系列(全量同步 MavenCentral、Google、Gradle Plugin)
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' }
// 2. 华为云
maven { url 'https://repo.huaweicloud.com/repository/maven/' }
// 3. 腾讯云
maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
// 4. 网易
maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
// 5. 保底官方源(顺序放最后)
mavenCentral()
google() // AndroidX 必备
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// 与上面保持一致,可 copy 同一段
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/' }
google()
mavenCentral()
}
}
rootProject.name = "xxx"
include ':app'
顺序即优先级,最快的放最前;建议保留 google()
否则 AndroidX 可能缺失。
三、方案二:用户级 init.gradle
(个人电脑全局)
路径
Windows:C:\Users\<电脑用户名称>\.gradle\init.gradle
macOS/Linux:~/.gradle/init.gradle
allprojects {
repositories {
// 先移除默认国外源
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.contains('repo1.maven.org') ||
url.contains('jcenter.bintray.com') ||
url.contains('maven.google.com') ||
url.contains('plugins.gradle.org')) {
remove repo
}
}
}
// 再按优先级添加国内镜像
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://repo.huaweicloud.com/repository/maven/' }
maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
mavenCentral()
google()
}
}
保存后 重启 Gradle 守护进程:
./gradlew --stop
四、方案三:Gradle 分发包加速
修改 gradle/wrapper/gradle-wrapper.properties
:
# 阿里云(推荐)
distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-8.5-bin.zip
# 腾讯云
# distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.5-bin.zip
# 华为云
# distributionUrl=https\://repo.huaweicloud.com/gradle/gradle-8.5-bin.zip
仅影响 Gradle 本体 下载,不影响依赖。
五、方案四:全局代理式镜像(备选)
在 ~/.gradle/gradle.properties
追加:
# 把整个 HTTP 流量转发到镜像(底层代理)
systemProp.http.proxyHost=mirrors.aliyun.com
systemProp.http.proxyPort=80
systemProp.https.proxyHost=mirrors.aliyun.com
systemProp.https.proxyPort=80
某些公司网络需要代理时可使用;不建议与前面的 init.gradle
混用,容易冲突。
六、国内镜像地址速查表
提供商 | 地址 | 覆盖范围 |
---|---|---|
阿里云公共 | https://maven.aliyun.com/repository/public | MavenCentral、JCenter |
阿里云 Google | https://maven.aliyun.com/repository/google | Google 仓库 |
阿里云 Gradle 插件 | https://maven.aliyun.com/repository/gradle-plugin | plugins.gradle.org |
华为云 | https://repo.huaweicloud.com/repository/maven/ | MavenCentral |
腾讯云 | https://mirrors.cloud.tencent.com/nexus/repository/maven-public/ | MavenCentral |
网易 | https://mirrors.163.com/maven/repository/maven-public/ | MavenCentral |
中科大 | https://mirrors.ustc.edu.cn/nexus/content/groups/public/ | MavenCentral |
七、最佳实践小结
- 团队项目:直接用方案一,提交到 Git,新成员克隆即可。
- 个人开发:方案二
init.gradle
最省事,一次配置,终身受益。 - 多镜像组合使用,阿里云 → 华为云 → 腾讯云 → 官方源,容错+提速。
- 务必保留
google()
,否则androidx.*
依赖会找不到。 - 每隔 3-6 个月验证镜像是否同步最新版本;出现
Could not find
先换镜像顺序再排查。 - 不同地区延迟不一样,ping 一下选最快:
ping maven.aliyun.com
ping repo.huaweicloud.com
八、常见问题 FAQ
现象 | 解决 |
---|---|
配置后仍卡在“Download maven-metadata.xml” | ① ./gradlew --stop ② 删除 ~/.gradle/caches ③ 换镜像顺序 |
Failed to resolve: androidx.xxx | 检查是否遗漏 google() |
依赖版本比官方低 | 镜像同步延迟,把官方源放最后兜底即可 |
九、一句话总结
“项目级配置给团队,init.gradle 给自己,wrapper 加速装 Gradle,多镜像+官方兜底,顺序放对,缓存清掉,构建就能飞起!”
现在复制粘贴,重新 Sync,享受秒级构建吧!
常用方法
加速下载 Gradle:
打开根目录下的 Gradle 文件夹中的 wrapper 文件夹,找到并打开 gradle-wrapper.properties,找到 distributionUrl 字段,改为 mirrors.aliyun.com/macports/distfiles/gradle/ 进行加速下载。
例如:
原来是 distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
改成为 distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.13-bin.zip
加速 Gradle 下载插件:
使用本文中的 二、方案一 进行加速
修改 项目根目录 的 settings.gradle 文件,添加镜像仓库地址
## 常用方法: 方案一 —— 项目级 `settings.gradle`(团队最常用)
把下面内容直接贴到**项目根目录**的 `settings.gradle`即可,**无需修改**模块级 `build.gradle`。\
### 原来内容
```groovy
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "xxx"
include ':app'
```
```groovy
pluginManagement {
repositories {
// 1. 阿里云系列(全量同步 MavenCentral、Google、Gradle Plugin)
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' }
// 2. 华为云
maven { url 'https://repo.huaweicloud.com/repository/maven/' }
// 3. 腾讯云
maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
// 4. 网易
maven { url 'https://mirrors.163.com/maven/repository/maven-public/' }
// 5. 保底官方源(顺序放最后)
mavenCentral()
google() // AndroidX 必备
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// 与上面保持一致,可 copy 同一段
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/' }
google()
mavenCentral()
}
}
rootProject.name = "xxx"
include ':app'
```
> 顺序即优先级,**最快的放最前**;建议保留 `google()` 否则 AndroidX 可能缺失。