gradle kotlin

repositories { mavenCentral() maven { setUrl(“”) } }

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

http://www.yrom.net/blog/2015/02/07/change-gradle-maven-repo-url/

近来迁移了一些项目到Android Studio,采用Gradle构建确实比原来的Ant方便许多。但是编译时下载依赖的网速又着实令人蛋疼不已。

如果能切换到国内的Maven镜像仓库,如开源中国的Maven库,又或者是换成自建的Maven私服,那想必是极好的。

一个简单的办法,修改项目根目录下的build.gradle,将jcenter()或者mavenCentral()替换掉即可:

allprojects {
  
repositories {
  
maven{ url 'http://maven.oschina.net/content/groups/public/'}
  
}
  
}

但是架不住项目多,难不成每个都改一遍么?

自然是有省事的办法,将下面这段Copy到名为init.gradle文件中,并保存到 USER_HOME/.gradle/文件夹下即可。

 

allprojects{
  
repositories {
  
def REPOSITORY_URL = 'http://maven.oschina.net/content/groups/public'
  
all { ArtifactRepository repo ->
  
if(repo instanceof MavenArtifactRepository){
  
def url = repo.url.toString()
  
if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
  
project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL."
  
remove repo
  
}
  
}
  
}
  
maven {
  
url REPOSITORY_URL
  
}
  
}
  
}

init.gradle文件其实是Gradle的初始化脚本(Initialization Scripts),也是运行时的全局配置。
  
更详细的介绍请参阅 http://gradle.org/docs/current/userguide/init_scripts.html