1.7配置存储库
问题
你需要Gradle来准确地解决任何库依赖。
解
在Gradle构建文件中配置存储库块。
讨论
声明存储库
知识库块告诉Gradle在哪里找到依赖。默认情况下,Android使用jcenter()或mavenCentral(),它们分别代表默认的Bintray JCenter存储库和公共Maven Central存储库(示例1-22)。
实例1-22。默认JCenter存储库
有两个可用于Maven存储库的快捷方式。 mavenCentral()语法引用位于http://repo1.maven.org/maven2的中心Maven 2存储库。 Maven Local()语法引用您的本地Maven缓存(示例1-23)。
实例1-23。内置Maven存储库在存储库块中
2公共Maven中央驻地
任何Maven存储库可以使用带有url块的maven参数添加到默认列表中(示例1-24)。
实例1-24。从URL中添加Maven仓库
实例1-25。访问需要凭据的Maven仓库
Ivy和本地存储库使用类似的语法添加。
实例1-26。使用Ivy存储库
实例1-27。使用本地目录作为存储库
问题
你需要Gradle来准确地解决任何库依赖。
解
在Gradle构建文件中配置存储库块。
讨论
声明存储库
知识库块告诉Gradle在哪里找到依赖。默认情况下,Android使用jcenter()或mavenCentral(),它们分别代表默认的Bintray JCenter存储库和公共Maven Central存储库(示例1-22)。
实例1-22。默认JCenter存储库
repositories {
jcenter()
}
这是指位于https://jcenter.bintray.com的JCenter存储库。请注意,它使用HTTPS连接。
有两个可用于Maven存储库的快捷方式。 mavenCentral()语法引用位于http://repo1.maven.org/maven2的中心Maven 2存储库。 Maven Local()语法引用您的本地Maven缓存(示例1-23)。
实例1-23。内置Maven存储库在存储库块中
repositories {
mavenLocal() //1
mavenCentral() //2
}
1本地Maven缓存
2公共Maven中央驻地
任何Maven存储库可以使用带有url块的maven参数添加到默认列表中(示例1-24)。
实例1-24。从URL中添加Maven仓库
repositories {
maven {
url 'http://repo.spring.io/milestone'
}
}
受密码保护的存储库使用凭据块,如示例1-25(取自Gradle用户指南)显示。
实例1-25。访问需要凭据的Maven仓库
repositories {
maven {
credentials {
username 'username'
password 'password'
}
url 'http://repo.mycompany.com/maven2'
}
}
您可以将显式用户名和密码值移动到名为gradle.properties的文件。方法2.1详细讨论了这一点。
Ivy和本地存储库使用类似的语法添加。
实例1-26。使用Ivy存储库
repositories {
ivy {
url 'http://my.ivy.repo'
}
}
如果在本地文件系统上有文件,您可以使用flatDir语法作为存储库的目录(示例1-27)。
实例1-27。使用本地目录作为存储库
repositories {
flatDir {
dirs 'lib'
}
}
这是将文件显式添加到具有文件或fileTree的依赖性块的替代方法。
您通常会在您的构建中添加多个存储库。 Gradle将依次搜索,从上到下,直到它解析所有的依赖。