Gradle仓库配置
支持的类型有如下几种:
类型 | 说明 |
---|---|
Maven central repository | 这是Maven的中央仓库,无需配置,直接声明就可以使用。但不支持https协议访问 |
Maven JCenter repository | JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。 |
Maven local repository | Maven本地的仓库,可以通过本地配置文件进行配置 |
Maven repository | 常规的第三方Maven仓库,可设置访问Url |
Ivy repository | Ivy仓库,可以是本地仓库,也可以是远程仓库 |
Flat directory repository | 使用本地文件夹作为仓库 |
以下是几种仓库的使用方法:
Maven central repository
在build.gradle中配置
repositories {
mavenCentral()
}
就可以直接使用了。
Maven JCenter repository
最常用也是Android Studio默认配置:
repositories {
jcenter()
}
这时使用jcenter仓库是通过https访问的,如果想切换成http协议访问,需要修改配置:
repositories {
jcenter {
url "http://jcenter.bintray.com"
}
}
Local Maven repository
可以使用Maven本地的仓库。默认情况下,本地仓库位于USER_HOME/.m2/repository
(例如windows环境中,在C:\Users\NAME.m2.repository),同时可以通过USER_HOME/.m2/
下的settings.xml配置文件修改默认路径位置。
若使用本地仓库在build.gradle中进行如下配置:
repositories {
mavenLocal()
}
Maven repositories
第三方的配置也很简单,直接指明url即可:
repositories {
maven {
url "http://repo.mycompany.com/maven2"
}
}
Ivy repository
配置如下:
repositories {
ivy {
url "http://repo.mycompany.com/repo"
}
}
Flat directory repository
使用本地文件夹,这个也比较常用。直接在build.gradle中声明文件夹路径:
repositories {
flatDir {
dirs 'lib'
}
flatDir {
dirs 'lib1', 'lib2'
}
}
使用本地文件夹时,就不支持配置元数据格式的信息了(POM文件)。并且Gradle会优先使用服务器仓库中的库文件:例如同时声明了jcenter和flatDir,当flatDir中的库文件同样在jcenter中存在,gradle会优先使用jcenter的。
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
https://plugins.gradle.org/m2/
maven { url 'http://maven.oschina.net/content/groups/public/' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url "http://maven.springframework.org/release" }
maven { url "http://maven.restlet.org" }
maven { url "http://mirrors.ibiblio.org/maven2" }
maven {
url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
}
maven { url 'https://maven.fabric.io/public' }
jcenter()
google()
}