Android-grade依赖下载加速

在国内使用 Android studio 做开发时,第一次编译总是出奇的慢,有时甚至编译失败。因为自动生成的 build.gradle 文件配置默认是从 jcentergoogle 上下载依赖的。这两个网站都是在国外的,访问速度是非常差。为了改善国内的开发环境,很多公司提供了国内加速镜像,比如阿里云。下面我们就看看如何使用阿里云的 gradle 镜像。

1. 单个工程修改

修改项目根目录下 build.gradle 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
buildscript { // gradle 编译工具配置
repositories {
// 在 google, jcenter 之前添加 aliyun 的镜像,会优先使用
maven { url 'https://maven.aliyun.com/repository/public/' }
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
}
}

allprojects { // 项目依赖配置
repositories {
// 在 google, jcenter 之前添加 aliyun 的镜像,会优先使用
maven { url 'https://maven.aliyun.com/repository/public/' }
google()
jcenter()
}
}

2. 全局修改

在 ~/.gradle/ 目录下创建文件 init.gradle :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
allprojects{
repositories {
google()
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL }
maven { url ALIYUN_JCENTER_URL }

}
}

这样修改之后,以后再创建新的项目,就会默认使用 aliyun 镜像加速了。
阿里不仅做了 maven 的镜像,还有 npm的镜像, 还有 各Linux系统的软件源镜像, 还有很多其他镜像源, 具体可以在 阿里巴巴镜像站上查找。
感谢阿里给开发者带来了便利。