我们在使用gradle构建项目的时候,每当需要build或者刷新依赖的时候,由于gradle需要从服务器下载各种依赖包,速度非常慢,根本原因是由于gradle服务器在国外,而国内有些一些大厂和高校(比如阿里,华为,清华等)就建立了这些依赖库在国内的镜像,我们可以通过修改项目配置让Gradle从国内的镜像服务器下载内容,以加速下载和编译。
- buildscript {
- repositories {
- maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
- maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:2.2.3'
- // 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/' }
- maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
- }
- }
- allprojects{
- repositories {
- def ALIYUN_REPO_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_REPO_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_REPO_URL
- url ALIYUN_JCENTER_URL
- }
- }
- }
如果你在内网,出口还有防火墙,需要检查是否防火墙是否屏蔽了对应网站。