Android Studio加快构建

一、基础知识

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


Android Studio加快构建_第1张图片

2、下载的gradle文件,保存在哪里了?

下载的gradle保存在C:\Users\用户名\.gradle\wrapper\dists\gradle-x.xx-all\xxxxxxxxxxxx,下载完成后是一个压缩包


三、加快构建

1、gralde相关

Android Studio加快构建_第2张图片
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脚本编译不适用)

Android Studio加快构建_第3张图片

Android Studio加快构建_第4张图片

参考文献

AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢

你可能感兴趣的:(Android Studio加快构建)