Gradle本地化
本地设置Gradle文件
有啥用?
解决奇怪的网络下,gradle下载不下来的问题
怎么处理?
-
下载好目标版本的gradle
-
放到Android Studio 设置(File | Settings | Build, Execution, Deployment | Gradle)的本地Gradle user home的wrapper\dists目录下,不要解压。eg “C:\Android.gradle\wrapper\dists”
-
修改project下的gradle/wrapper/gradle-wrapper.properties文件
#Fri Sep 11 23:10:17 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=file:///C:/Android/.gradle/wrapper/dists/gradle-6.1.1-all.zip -
重新sync
注意点
1、如果是多人开发的项目,gradle/wrapper/gradle-wrapper.properties注意不要push到服务器上面去
Gradle 依赖设置阿里云镜像
参考 https://blog.csdn.net/waplyj/article/details/90319250
在天朝使用jcenter、mavenCentral及google三个远程仓库,Gradle Sync会很慢,google仓库甚至需要科学上网才能访问。为了加快Gradle Sync速度,一招教你优先用 阿里云仓库服务 的仓库作为下载源。
一劳永逸之道
将本项目的gradle/init.d/init.gradle复制到USER_HOME/.gradle/下即可。
USER_HOME在Windows上大约为C:/Users/liyujiang/.gradle/,在Linux上大约为/home/liyujiang/.gradle/。
init.d/init.gradle内容为:
buildscript {
repositories {
maven{ url 'https://maven.aliyun.com/repository/public'}
maven { url 'https://maven.aliyun.com/repositories/jcenter' }
maven { url 'https://maven.aliyun.com/repositories/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
}
}
allprojects {
repositories {
maven{ url 'https://maven.aliyun.com/repository/public'}
maven { url 'https://maven.aliyun.com/repositories/jcenter' }
maven { url 'https://maven.aliyun.com/repositories/google' }
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url "https://jitpack.io" }
}
}
Maven仓库列表
仓库名 | 简介 | 实际地址 | 使用地址 |
---|---|---|---|
jcenter | JFrog公司提供的仓库 | http://jcenter.bintray.com | https://maven.aliyun.com/repository/jcenter https://maven.aliyun.com/nexus/content/repositories/jcenter |
mavenLocal | 本台电脑上的仓库 | {USER_HOME}/.m2/repository | C:/Users/liyujiang/.m2/repository (Windows) /home/liyujiang/.m2/repository (Linux) |
mavenCentral | Sonatype公司提供的中央库 | http://central.maven.org/maven2 | https://maven.aliyun.com/repository/central https://maven.aliyun.com/nexus/content/repositories/central |
Google公司提供的仓库 | https://maven.google.com | https://maven.aliyun.com/repository/google https://maven.aliyun.com/nexus/content/repositories/google https://dl.google.com/dl/android/maven2 | |
jitpack | JitPack提供的仓库 | https://jitpack.io | https://jitpack.io |
public | jcenter和mavenCentral的聚合仓库 | https://maven.aliyun.com/repository/public https://maven.aliyun.com/nexus/content/groups/public | |
gradle-plugin | Gradle插件仓库 | https://plugins.gradle.org/m2 | https://maven.aliyun.com/repository/gradle-plugin https://maven.aliyun.com/nexus/content/repositories/gradle-plugin |
阿里云代理仓库配置
在项目根目录下的build.gradle的buildscript.repositories及allprojects.repositories闭包内的最前面(Gradle是从上往下寻找的,故要放到jcenter()及google()的前面),添加阿里云仓库服务的代理仓库地址,示例如下:
buildscript {
repositories {
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
maven {
url 'https://maven.aliyun.com/repository/google'
}
jcenter()
google()
}
}
allprojects {
repositories {
maven {
url 'https://maven.aliyun.com/repository/jcenter'
}
maven {
url 'https://maven.aliyun.com/repository/central'
}
maven {
url 'https://maven.aliyun.com/repository/google'
}
jcenter()
mavenCentral()
google()
}
}