问题描述
每次 Gradle 自动下载更新一些 Library 的时候,速度都会非常的慢,而且更要命的是,这玩意儿还是没有进度条的。至于其具体原因,我想大概是因为那些仓库服务器都在国外吧,本来国外的网站打开得都够慢的了,更何况下载东西。
下载特别慢,还没进度条 |
---|
解决方案
我们需要修改一下 Project 视图下,根目录中的 build.gradle 文件。如下图所示,文件内容本来是这样的:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
其中jcenter()
与google()
分别是两个不同的仓库,也就是说,Library 默认都是根据顺序从这两个仓库中下载的。这里还要插一句,今年(2021)六月份jcenter()
这个仓库就要被关闭了。
至此思路就很清晰了:我们只需要将国外的仓库,改为国内的仓库即可,就像把 Ubuntu 的软件源更换为国内的一样。于是我们在两个repositories
语句块中,将国内阿里云的仓库地址放在最前面即可,其中,jitpack
是另外一个 Android 仓库。具体代码如下所示:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven{url "https://jitpack.io"}
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
最终效果
修改完成后保存,重启 Android Studio,然后就可以看见 Gradle 的下载速度变得非常快。