一、基础知识
1、Android Gradle Plugin 与Gradle,Build Tools
完全不同的东西,一个是gradle插件,一个是gradle
Gradle Plugin在顶层build.gralde中声明,其中版本号为2.3.1
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
}
}
而Gradle的声明是在gradle/wrapper/gradle-wrapper.properties文件中指定,版本号为3.3
File -> Project Structure -> Project 中也可以查看到
distributionUrl = https://services.gradle.org/distributions/gradle-3.3-all.zip
Build Tools是在app的build.gradle中声明
android{
buildToolsVersion "27.0.3"
}
总结:Gradle Plugin版本不仅依赖于Gradle版本,还依赖于Build Tools的版本
Android Gradle Plugin | Requires Gradle |
---|---|
2.0.0-2.1.2 | 2.10 - 2.13 |
2.1.3+ | 2.14.1+ |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
具体参见:https://developer.android.com/studio/releases/gradle-plugin.html
2、Android Studio的缓存文件
默认安装的AndroidStudio会在C:\Users\YourName\ .xxx
缓存一些数据
主要有四个文件夹,分别是
-
.android
模拟器存放路径 -
.AndroidStudio
配置、插件缓存文件夹、最近打开的项目,运行日志等 -
.gradle
这其中存储的是本地的gradle全局配置文件 ,但是在每次更新gradle后,这个文件都会增大 -
.m2
maven仓库下载的库文件保存在这里,你使用的所有的maven仓库都会先缓存到这里然后再添加到你的项目中进行使用;如果你用的插件越多这个文件夹将会持续增大
2.1 、修改缓存文件夹路径
Android Studio 和 gradle 修改缓存文件夹路径
修改Gradle缓存文件夹路径的5种方法
二、gradle相关
更改Gradle的版本,或者更新AS后,再次打开Android studio 会根据指定的url去Gradle官网下载新版文件,gradle官网虽然可以访问,但是速度实在太慢,所需时间过长,很大可能下载不成功,一直卡在Building gradle project info或refreshing gradle project这一步。
1、根据项目中的什么配置去下载gradle?
根据的是 \gradle\wrapper\gradle-wrapper.properties中的最后一行代码去下载指定版本的gradle
2、下载的gradle文件,保存在哪里了?
下载的gradle保存在C:\Users\用户名\.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx,下载完成后是一个压缩包
三、加快构建
1、gralde相关
1.1、 手动下载gradle压缩包
选中 use default gradle wrapper,会自动下载所需版本的gradle,由于速度较慢,所以我们可以手动下载,然后放在正确的路径。
1、查看所需gradle版本
2、 手动下载新版Gradle
3、下载完成后,复制到C:\Users\用户名 .gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx目录下,运行AS之后会自动解压,如下。重新打开项目就可以了(若采用gralde脚本编译,则使用的是这个目录里面的gradle)
1.2、 使用AS自带的Gradle
Android Studio 自带Gradle,在安装目录的根目录有个gradle 目录,就是Android Studio所能支持的最新版,
在设置中打开Gradle,选择Use local gradle distribution,然后选择Gradle 的目录即可,这样就不会根据项目中\gradle\wrapper\gradle-wrapper.properties 文件下载指定版本的gradle,而是使用指定的gradle。(仅适用于AS编译,gradle脚本编译不适用)
参考文献
AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢