支持的類型有如下幾種:
類型 | 說明 |
---|---|
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()
}