前言
最近在使用Androidstudio从jcenter,google,maven等仓库下载依赖jar的时候,出现下载不了,偶尔能下载,但是很慢;这里推荐使用国内阿里的镜像仓库。
阿里的镜像仓库:
https://maven.aliyun.com/mvn/view
官方使用指南:
https://help.aliyun.com/document_detail/102512.html?spm=a2c40.aliyun_maven_repo.0.0.361830549jTnxB
一,单个项目生效
在项目级别的build.gradle中添加阿里的Maven仓库代理地址,public仓是central仓和jcenter仓的聚合仓;
buildscript {
repositories {
maven{ url'http://maven.aliyun.com/nexus/content/groups/public' }
// jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
// 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' }
// jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
如果想使用maven.aliyun.com提供的其它代理仓,例如google仓库
buildscript {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
// jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
// jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
注意:
https://maven.aliyun.com/repository/public和http://maven.aliyun.com/nexus/content/groups/public指向同一个存储库,只是两种写法而已;
二,对所有项目生效
在C:\Users\用户名\.gradle(例如:C:\Users\Administrator\.gradle)
文件夹下新建文件init.gradle
文件
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public'
def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/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_REPOSITORY_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_REPOSITORY_URL
url ALIYUN_JCENTER_URL
}
}
}
其他相关知识
Maven
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 仓库
在 Maven 的术语中,仓库是一个位置(place)。
Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。
在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven 仓库能帮助我们管理构件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。
Maven 仓库有三种类型:
本地(local)
中央(central) 要浏览中央仓库的内容,maven 社区提供了一个 URL:http://search.maven.org/#browse
远程(remote)
jcenter
就是一个由 bintray.com维护的Maven仓库。
整个仓库的内容:http://jcenter.bintray.com/
如果对您有所帮助的话
不妨加个关注,点个赞哈,您的每个小小举动都是对我莫大的支持!