你的 Android Studio 为什么下载这么慢?

前言

很多新人小朋友在使用 Android Studio 愉快的编程的时候,经常会因为网络问题而烦恼,而这一切都是有办法避免的,希望本文可以帮助到你。

Gradle 下载慢

Android Studio 编译项目中,需先下载 Gradle[1],如果这一步下载慢的话可以直接修改项目里的 gradle\wrapper\gradle-wrapper.properties 这个配置文件里面的链接:

1
2
3
4
5
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

distributionUrl 指定的连接域名修改为 https://mirrors.cloud.tencent.com

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
### project/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists

### 默认国外
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
### 官方 CDN 域名,曾在中国落地,现已取消,无法继续使用
+ distributionUrl=https\://downloads.gradle-dn.com/distributions/gradle-8.0-bin.zip
### 腾讯云
+ distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip

zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

然后重新同步一下项目(也可以将 Android Studio 退出在重新进入)接着 Gradle 就会非常快速的下载下来了。

Maven 下载慢

如果在下载 jar aar 阶段下载非常慢的情况,可以设定国内 Maven 镜像仓库加速,以下是常用的镜像仓库链接:

⚠️ 注意 :不同的镜像仓库可能存在差异,建议根据自己的具体情况选择合适的镜像仓库进行配置。

如果你的项目是 Gradle 7.0 以下创建的,你可以修改根目录下的 build.gradle 文件,并添加这一句:

1
2
3
4
5
6
7
8
### project/build.gradle
allprojects {
    repositories {
+       maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        jcenter()
    }
}

注意一下这里的 repositories 设置,每个模块下面都有属于模块级的 build.gradle 文件设置,里面也可以设定 repositories,如果两个 build.gradle 都配置了 repositories,则模块级的 repositories 会掉覆盖 allprojects 中的 repositories

所以如果你的模块也配置了 repositories,则也需要在模块级的 build.gradle 中添加对应的国内 Maven 镜像仓库链接,如:

1
2
3
4
5
### project/app/build.gradle
repositories {
+   maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    mavenCentral()
}

然后选择重新构建项目(也可以将 Android Studio 退出在重新进入)就可以了。

在新版本,即 Gradle 7.0+[2]以上的版本修改位置变了,如果你是使用比较新的 Android Studio 的方式新建的项目,则配置文件变成了在项目里的 settings.gradle 文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
### project/settings.gradle
pluginManagement {
    repositories {
+       maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
pluginManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
+       maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        mavenCentral()
    }
}

Gradle 7.0+ 版本中,settings.gradle 文件新增了一个 pluginManagement 配置块,用于配置 Gradle 插件管理器的行为。

RepositoriesMode.FAIL_ON_PROJECT_REPOS 表示当 Gradle 插件管理器发现项目自己定义了一些仓库时,会抛出一个错误,以避免出现意外的依赖冲突。在这种模式下,Gradle 插件管理器只会使用全局仓库和插件仓库,而不会考虑项目自定义的仓库。


  1. Gradle 是一个构建工具,用于自动化构建、测试和部署软件项目。 

  2. Gradle 7.0+ 更新了诸多内容,具体可以进入 gradle platforms 查看。