根本原因是Gradle默认连接海外服务器导致网络延迟高、丢包率大;需修改gradle-wrapper.properties中的distributionUrl为国内镜像地址(如阿里云),并在build.gradle或init.gradle中配置阿里云等国内仓库源以加速依赖下载。

Gradle在国内构建项目时卡在Downloading gradle-x.x-bin.zip或Download https://repo.maven.apache.org/,根本原因是默认连接海外服务器,网络延迟高、丢包率大,导致首次同步动辄半小时甚至失败。
修改Gradle Wrapper下载地址(解决本体下载失败)
这一步专治gradlew执行时卡死在“Downloading https://services.gradle.org/distributions/”。
打开项目根目录下的gradle/wrapper/gradle-wrapper.properties文件。
将原distributionUrl行替换为国内镜像地址,例如阿里云:
distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-8.8-bin.zip
【必须确认版本号与项目要求一致】比如项目要求8.8,就不要写成8.7或8.8-all.zip——后者是完整版,Wrapper不识别,会报错“invalid distribution”。
保存后重新运行./gradlew --version,若输出版本信息且无下载日志,说明生效。
配置项目级依赖镜像源(针对单个build.gradle)
适用于需要团队统一配置、或临时调试某个项目的场景。
方法一(Groovy DSL):在build.gradle的repositories块中,删除mavenCentral()等默认调用,改用阿里云三件套:
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' }
方法二(Kotlin DSL):在build.gradle.kts中对应位置写:
repositories {
maven { url = uri("https://maven.aliyun.com/repository/public") }
maven { url = uri("https://maven.aliyun.com/repository/google") }
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
}
注意:如果项目用了buildscript块(如老式Android项目),必须在buildscript和allprojects两个位置都加一遍,否则插件下载仍走国外源。
全局配置init.gradle(一劳永逸,推荐个人开发)
第一步:确认你的GRADLE_USER_HOME路径
Windows用户去C:\Users\你的用户名\.gradle;macOS/Linux用户直接~/.gradle。
第二步:在该目录下创建init.gradle文件(若不存在)。
第三步:粘贴以下Groovy脚本内容:
allprojects {
repositories {
def ALIYUN_REPO = 'https://maven.aliyun.com/repository/public'
def GOOGLE_REPO = 'https://maven.aliyun.com/repository/google'
def GRADLE_PLUGIN_REPO = 'https://maven.aliyun.com/repository/gradle-plugin'
removeIf { it.url.toString().startsWith('https://repo.maven.apache.org') }
removeIf { it.url.toString().startsWith('https://dl.google.com') }
maven { url ALIYUN_REPO }
maven { url GOOGLE_REPO }
maven { url GRADLE_PLUGIN_REPO }
}
}
第四步:关闭IDE所有项目,重启Android Studio或IntelliJ IDEA,新建任意Gradle项目测试同步速度。
【init.gradle只对新启动的Gradle进程生效】已打开的IDE窗口需重启,否则缓存仍走旧仓库。

















