在国内使用 Android studio 做开发时,第一次编译总是出奇的慢,有时甚至编译失败。因为自动生成的 build.gradle 文件配置默认是从 jcenter 和 google 上下载依赖的。这两个网站都是在国外的,访问速度是非常差。为了改善国内的开发环境,很多公司提供了国内加速镜像,比如阿里云。下面我们就看看如何使用阿里云的 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系统的软件源镜像, 还有很多其他镜像源, 具体可以在 阿里巴巴镜像站上查找。
感谢阿里给开发者带来了便利。